הבדל בין רשימה לסט

תוכן עניינים:

הבדל בין רשימה לסט
הבדל בין רשימה לסט

וִידֵאוֹ: הבדל בין רשימה לסט

וִידֵאוֹ: הבדל בין רשימה לסט
וִידֵאוֹ: Difference between List and Set 2024, דֵצֶמבֶּר
Anonim

הבדל מפתח – רשימה לעומת סט

רוב שפות התכנות משתמשות במערכים כדי לאחסן קבוצה של נתונים מאותו סוג. אחד החסרונות העיקריים של מערכים הוא שברגע שהכריזו על גודל המערך, לא ניתן לשנות אותו. אם המתכנת רוצה לאחסן ערכים החורגים מגודל המערך, עליו ליצור מערך חדש ולהעתיק את האלמנטים הקיימים למערך החדש. במצבים אלה, ניתן להשתמש באוספים. אפשר להוסיף אלמנטים, למחוק אלמנטים ועוד הרבה פעולות בתמיכה של אוספים. ישנם סוגים שונים של אוספים זמינים בשפות תכנות כגון Java. List ו-Set הם ממשקים של היררכיית אוספים.ממשק הבסיס לממשקים אחרים הוא Collection. ההבדל העיקרי בין List ל-Set הוא ש-List תומך באחסון אותו אלמנט מספר פעמים בעוד ש-Set אינו תומך באחסון אותו אלמנט מספר פעמים. לכן, סט אינו מאפשר שכפול.

מה זה רשימה?

הרשימה היא ממשק שמרחיב את ממשק האוסף. ישנן מספר שיטות בממשק Collection. שיטת ההוספה עוזרת להוסיף אלמנט. 'שיטת ההסרה' היא להסיר אלמנט. יש 'שיטה addAll' כדי להוסיף אלמנטים מרובים ואילו 'removeAll method' כדי להסיר את האלמנטים מהאוסף. השיטה מכילה עוזרת למצוא אם אובייקט מסוים קיים ברשימה או לא. ה-'containsAll' נועד למצוא אם קבוצה של אובייקטים קיימת באוסף. שיטת האיטרטור משמשת ללולאה בין הפריטים של הרשימה. מכיוון שרשימה מרחיבה את האיסוף, כל שיטות האיסוף שייכות לרשימה. מלבד השיטות הללו, לרשימה יש שיטות כמו get ו-set.המתכנת יכול לקבל ערך באינדקס ספציפי באמצעות שיטת get. המתכנת יכול להגדיר ערך באינדקס ספציפי בשיטת הסט. ה-'indexOf' משמש למציאת האינדקס של אלמנט.

ברשימה, ניתן לבצע את הפעולות בהתאם למיקום. המתכנת יכול לספק את רכיב הנתונים שיש להוסיף לאינדקס. אז זה יתווסף לאינדקס הספציפי. אם המתכנת לא נותן אינדקס, האלמנט יתווסף לסוף הרשימה. זה גם שומר על הסדר שהוכנס. אם רכיב 1 יתווסף ואז רכיב2 יתווסף, אז אלמנט1 יהיה לפני אלמנט2.

ההבדל בין רשימה לסט
ההבדל בין רשימה לסט

איור 01: רשימה והגדרה

ArrayList, LinkedList, Vector הם כמה מחלקות שמיישמות רשימה. ב-ArrayList, הגישה לאלמנט היא מהירה אך ההכנסה והמחיקה נמוכה יותר. ArrayList אינו בטוח לשרשור. גישה לאותו ArrayList ממספר שרשורים עלולה שלא לתת את אותה תוצאה. ב-LinkedList, האלמנטים מקושרים הן אחורה והן קדימה. הכנסה ומחיקה של אלמנטים באמצעות LinkedList היא מהירה יותר מה-ArrayList. ה-LinkedList מיישמת רשימה ותור שניהם. וקטור דומה ל-ArrayList, אבל הוא בטוח לדריכה מכיוון שכל השיטות מסונכרנות.

מה מוגדר?

Set הוא ממשק שמרחיב את ממשק האוסף. מכיוון שממשק הסט מרחיב את האוסף, כל שיטות האוסף שייכות גם ל-Set. סט אינו תומך בערכי כפילות. לכן, המתכנת לא יכול לאחסן את אותו אלמנט פעמיים. הוא שומר על סט ייחודי של אלמנטים. ממשק SortedSet מרחיב את ממשק הסט. SortedSet שומר על האלמנטים בסדר ממוין. ממשק NavigableSet מרחיב את SortedSet. ה-NavigableSet מספק שיטות ניווט כגון תחתית, רצפה, תקרה וכו'.

HashSet, LinkedHashSet ו-TreeSet הם כמה מחלקות שמיישמות את ממשק ה-Set.ה-HashSet מיישם ממשק Set. זה לא שומר על הסדר שהוכנס. אם הערכים מוכנסים כ-a, x, b, הוא עשוי לאחסן כ-, x, a, b. ה-LinkedSet שומר על הסדר שהוכנס. אם הרכיבים יוכנסו בסדר a, x, b, סדר האחסון יהיה a, x, b. ה-TreeSet מיישם את Set ו-NavigableSet. זה לא שומר על סדר ההכנסה אלא מאחסן את האלמנטים בסדר הממוין. אם הסדר שהוכנס הוא a, c, b, אז האלמנטים יאוחסנו כ-a, b, c. לכל ה-HashSet, LinkedHashSet ו-TreeSet לא יהיו רכיבים כפולים.

מהם קווי הדמיון בין רשימה לסט?

  • ממשק הרשימה והסט מרחיבים את ממשק האוסף.
  • גם רשימה וגם הגדרה של פעולות תמיכה כגון הוספה, הסרה של אלמנטים.

מה ההבדל בין רשימה לסט?

רשימה לעומת סט

ממשק הרשימה הוא ממשק המשנה של Collection שמכיל שיטות לביצוע פעולות כגון הוספה, מחיקה על סמך האינדקס. Set Interface הוא ממשק משנה של Collection המכיל שיטות לביצוע פעולות כגון הוספה, מחיקת אלמנטים תוך שמירה על האלמנטים הייחודיים.
שיעורים
ArrayList, Vector ו-LinkedList הם מחלקות שמטמיעות ממשק List. HashSet, LinkedHashSet ו-TreeSet הם מחלקות שמטמיעות ממשק Set.
כפול אלמנט
List תומך בשכפול של אלמנטים. Set אינו תומך בשכפול של אלמנטים. האלמנטים הם ייחודיים.

סיכום – רשימה לעומת סט

אוספים משמשים לאחסון אלמנטים באופן דינמי. שפות תכנות כגון Java מספקת ממשק Collection. List ו-Set הם שני ממשקים השייכים לממשק האוסף. שני הממשקים מרחיבים את האוסף. מאמר זה דן בהבדל בין רשימה לסט. ההבדל העיקרי בין List ל-Set הוא ש-List תומך באחסון אותו אלמנט מספר פעמים בעוד ש-Set אינו תומך באחסון אותו אלמנט מספר פעמים. סט תמיד שומר על אלמנטים ייחודיים.

מוּמלָץ: