הבדל בין TreeSet ל-HashSet

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

הבדל בין TreeSet ל-HashSet
הבדל בין TreeSet ל-HashSet

וִידֵאוֹ: הבדל בין TreeSet ל-HashSet

וִידֵאוֹ: הבדל בין TreeSet ל-HashSet
וִידֵאוֹ: twenty one pilots: Stressed Out [OFFICIAL VIDEO] 2024, יולי
Anonim

הבדל מפתח – TreeSet לעומת HashSet

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

מהו TreeSet?

מחלקה TreeSet מיישמת ממשק NavigableSet. ממשק NavigableSet מרחיב את ממשקי SortedSet, Set, Collection ו-Iterable בסדר היררכי. TreeSet תמיד שומר על הסדר העולה. אם האלמנטים הוכנסו בסדר B, A, C, הם יאוחסנו כ-A, B, C. ניתן להשתמש בשיטות כגון add (), remove () עם TreeSet object.ניתן להשתמש בשיטת ההוספה כדי להוסיף אלמנט. שיטת ההסרה משמשת להסרת אלמנט מהאוסף. אלו כמה שיטות שניתן להשתמש בהן עם TreeSet.

ההבדל בין TreeSet ל-HashSet
ההבדל בין TreeSet ל-HashSet

איור 01: תוכנית עם TreeSet

לפי התוכנית לעיל, נוצר אובייקט מסוג TreeSet. רכיבי הנתונים של המחרוזת מתווספים לאובייקט זה באמצעות שיטת ה-add. סדר הנתונים המוכנסים הוא A, D, A, B, C, D. באמצעות האיטרטור, הערכים המאוחסנים מודפסים על המסך. הפלט הוא A, B, C, D. למרות שיש שתי אותיות A ושתי אותיות D, הפלט מציג את אחת A ואחת D כל אחת. לכן, ה-TreeSet מאחסן אלמנטים ייחודיים. אין סדר הכנסה מסוים אבל כשצופים בפלט, ניתן לראות שה-TreeSet שומר על הסדר העולה של האלמנטים.

מהו HashSet?

מחלקת HashSet מרחיבה את מחלקת AbstractSet המיישמת Set Interface. ממשק הסט יורש ממשקי Collection ו-Iterable בסדר היררכי. ב-HashSet, אין ערובה שהאלמנטים ישמרו על הסדר העולה ועל הסדר שהוכנס. אם הסדר שהוכנס היה A, B, C, הערכים עשויים להיות מאוחסנים כ-C, A, B. סדר אחסון יכול להיות גם A, B, C אך אין ערובה שהסדר שהוכנס או הסדר העולה נשמר.

ההבדל העיקרי בין TreeSet ל-HashSet
ההבדל העיקרי בין TreeSet ל-HashSet

איור 02: תוכנית עם HashSet

לפי התוכנית לעיל, נוצר אובייקט מסוג HashSet. רכיבי הנתונים של המחרוזת מתווספים לאובייקט זה באמצעות שיטת ה-add. סדר הנתונים המוכנסים הוא L, R, M, M, R, L. באמצעות האיטרטור, הערכים המאוחסנים מודפסים על המסך.הפלט הוא R L M. למרות שמכל אחת יש שתי אותיות L, R ו-M, רק אות אחת מכל אחת מוצגת. לכן, ה-HashSet מאחסן אלמנטים ייחודיים. כאשר מתבוננים בפלט, ניתן לראות שאין סדר עולה או שהסדר שהוכנס נשמר.

מהם הדמיון בין TreeSet ל-HashSet?

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

מה ההבדל בין TreeSet ל-HashSet?

TreeSet לעומת HashSet

TreeSet הוא מחלקה בהיררכיית האוסף המשמשת לאחסון אלמנטים ייחודיים בסדר עולה. HashSet הוא מחלקה בהיררכיית האוסף המשמשת לאחסון אלמנטים ייחודיים באמצעות מנגנון ה-Hashing.
אחסון רכיבים
TreeSet מאחסן את האלמנטים בסדר עולה. HashSet אינו מאחסן את האלמנטים בסדר עולה.

סיכום – TreeSet לעומת HashSet

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

מוּמלָץ: