Atšķirība starp TreeSet un HashSet

Galvenā atšķirība - TreeSet pret HashSet
 

Lielākā daļa programmēšanas valodu atbalsta masīvus. Tā ir datu struktūra, kuru izmanto, lai glabātu vairākus viena un tā paša veida elementus. Ja sešiem elementiem ir deklarēts masīvs, tad to nevar izmantot desmit elementu glabāšanai. Tāpēc masīvi nav dinamiski un nevar mainīt masīva lielumu, tiklīdz tas ir deklarēts. Programmēšanas valodas, piemēram, Java, atbalsta kolekcijas, kuras izmanto dinamiskai datu glabāšanai. Kolekcijas atbalsta tādas darbības kā elementu pievienošana un dzēšana. Kolekcijas hierarhijā ir vairākas saskarnes un klases. Pamata saskarne ir kolekcijas saskarne. Komplekts ir interfeiss, kas paplašina kolekcijas saskarni. Tas nepieļauj kopēšanu. TreeSet un HashSet ir divas klases kolekcijas hierarhijā un abas ievieš Set interfeisu. TreeSet ir klase, kas ievieš Set interfeisu, un to izmanto unikālu elementu saglabāšanai augošā secībā. HashSet ir klase, kas ievieš Set interfeisu, un to izmanto unikālu elementu glabāšanai, izmantojot Hašinga mehānismu. galvenā atšķirība starp TreeSet un HashSet ir tas TreeSet saglabā elementus augošā secībā, savukārt HashSet neuzglabā elementus augošā secībā.. Gan TreeSet, gan HashSet glabā tikai unikālus elementus.

SATURS

1. Pārskats un galvenās atšķirības
2. Kas ir TreeSet
3. Kas ir HashSet?
4. Līdzības starp TreeSet un HashSet
5. Salīdzinājums blakus - TreeSet vs HashSet tabulas formā
6. Kopsavilkums

Kas ir TreeSet?

TreeSet klase ievieš NavigableSet saskarni. NavigableSet interfeiss paplašina SortedSet, Set, Collection un Iterable saskarnes hierarhiskā secībā. TreeSet vienmēr uztur augošo secību. Ja elementi tika ievietoti B, A, C secībā, tie tiks saglabāti kā A, B, C. Tādas metodes kā pievienot (), noņemt () var izmantot objektā TreeSet. Elementa pievienošanai var izmantot pievienošanas metodi. Elementa noņemšanai no kolekcijas tiek izmantota noņemšanas metode. Šīs ir dažas metodes, ko var izmantot kopā ar TreeSet.

01. attēls. Programma ar TreeSet

Saskaņā ar iepriekšminēto programmu tiek izveidots objekts, kura tips ir TreeSet. Virkņu datu elementi tiek pievienoti šim objektam, izmantojot pievienošanas metodi. Ievietoto datu secība ir A, D, A, B, C, D. Izmantojot iteratoru, saglabātās vērtības tiek izdrukātas uz ekrāna. Izeja ir A, B, C, D. Lai arī ir divi A burti un divi D burti, izvadē tiek parādīts viens A un viens D. Tāpēc TreeSet saglabā unikālus elementus. Īpaša ievietošanas secība nav, bet, novērojot izvadi, var redzēt, ka TreeSet uztur elementu augošo secību..

Kas ir HashSet??

HashSet klase paplašina AbstractSet klasi, kas ievieš Set Interface. Set interfeiss manto kolekcijas un atkārtojamās saskarnes manto hierarhiskā secībā. Programmā HashSet nav garantijas, ka elementi saglabās augošo secību un ievietoto kārtību. Ja ievietotais pasūtījums bija A, B, C, tad vērtības var saglabāties kā C, A, B. Uzglabāšanas secība var būt arī A, B, C, bet nav garantijas, ka ievietotā kārtība vai augošā secība tiek saglabāta.

Attēls 02: Programma ar HashSet

Saskaņā ar iepriekšminēto programmu tiek izveidots objekts, kura tips ir HashSet. Virkņu datu elementi tiek pievienoti šim objektam, izmantojot pievienošanas metodi. Ievietoto datu secība ir L, R, M, M, R, L. Izmantojot iteratoru, saglabātās vērtības tiek izdrukātas uz ekrāna. Izeja ir R L M. Lai gan no katra ir divi L, R un M burti, tiek parādīts tikai viens burts no katra. Tāpēc HashSet saglabā unikālus elementus. Novērojot izvadi, var redzēt, ka nav augošas secības vai tiek saglabāta ievietotā kārtība.

Kādas ir līdzības starp TreeSet un HashSet?

  • Gan TreeSet, gan HashSet ir klases, kas pieder kolekcijas hierarhijai.
  • Gan TreeSet, gan HashSet saglabā tikai unikālus elementus.
  • Gan TreeSet, gan HashSet var izmantot, lai saglabātu un manipulētu ar daudziem elementiem.
  • Gan TreeSet, gan HashSet neuztur ievietoto kārtību.

Kāda ir atšķirība starp TreeSet un HashSet?

TreeSet vs HashSet

TreeSet ir kolekcijas hierarhijas klase, kuru izmanto unikālu elementu saglabāšanai augošā secībā. HashSet ir kolekcijas hierarhijas klase, kuru izmanto unikālu elementu glabāšanai, izmantojot Hašinga mehānismu.
 Elementu glabāšana
TreeSet saglabā elementus augošā secībā. HashSet neuzglabā elementus augošā secībā.

Kopsavilkums - TreeSet pret HashSet

Plānojot, ir nepieciešams dinamiski uzglabāt datu elementus. Programmēšanas valodas, piemēram, Java, atbalsta kolekcijas, lai sasniegtu šo uzdevumu. Kolekcijas hierarhijā ir vairākas saskarnes un klases. TreeSet un HashSet ir divas klases kolekcijas hierarhijā. Abi ievieš interfeisu Set. TreeSet ir klase, kas ievieš Set interfeisu, un to izmanto unikālu elementu saglabāšanai augošā secībā. HashSet ir klase, kas ievieš Set interfeisu, un to izmanto unikālu elementu glabāšanai, izmantojot Hašinga mehānismu. Atšķirība starp TreeSet un HashSet ir tā, ka TreeSet saglabā elementus augošā secībā, savukārt HashSet neuzglabā elementus augošā secībā. Šajā rakstā tika apskatīta atšķirība starp TreeSet un HashSet.

Atsauce:

1. “TreeSet Java - javatpoint”. JavaPoint. Pieejams šeit
2. “HashSet Java - javatpoint”. JavaPoint  Pieejams šeit