Galvenā atšķirība - TreeSet vs HashSet
Lielākā daļa programmēšanas valodu atbalsta masīvus. Tā ir datu struktūra, kuru izmanto, lai saglabātu vairākus viena un tā paša veida datu elementus. Ja sešiem elementiem ir deklarēts masīvs, to nevar izmantot desmit elementu glabāšanai. Tāpēc masīvi nav dinamiski un nevar mainīt masīva lielumu, kad tas ir deklarēts. Programmēšanas valodas, piemēram, Java, atbalsta kolekcijas, kuras tiek izmantotas datu dinamiskai glabāšanai. Kolekcijas atbalsta tādas darbības kā elementu pievienošana un elementu dzēšana. Kolekcijas hierarhijā ir vairākas saskarnes un klases. Bāzes saskarne ir kolekcijas saskarne. Komplekts ir interfeiss, kas paplašina kolekcijas saskarni. Tas nepieļauj dublēšanos. TreeSet un HashSet ir divas klases kolekcijas hierarhijā, un abi ievieš saskarni Set. TreeSet ir klase, kas ievieš saskarni Set, un to izmanto unikālu elementu glabāšanai augošā secībā. HashSet ir klase, kas ievieš Set saskarni, un to izmanto unikālu elementu glabāšanai, izmantojot Hashing mehānismu. Galvenā atšķirība starp TreeSet un HashSet ir tā, ka TreeSet elementus saglabā augošā secībā, savukārt HashSet elementus neglabā 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. Blakus salīdzinājums - TreeSet vs HashSet tabulas veidā
6. Kopsavilkums
Kas ir koku kopa?
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. Metodes, piemēram, pievienot (), noņemt (), var izmantot ar objektu TreeSet. Pievienošanas metodi var izmantot elementa pievienošanai. Noņemšanas metodi izmanto elementa noņemšanai no kolekcijas. Šīs ir dažas metodes, kuras var izmantot ar TreeSet.
01. attēls: Programma ar TreeSet
Saskaņā ar iepriekš minēto programmu tiek izveidots TreeSet tipa objekts. Virknes 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 drukātas uz ekrāna. Izeja ir A, B, C, D. Pat ja ir divi A un divi D burti, izvadē tiek parādīts viens A un viens D. Tāpēc TreeSet glabā unikālus elementus. Nav īpašas ievietošanas kārtības, bet, novērojot izvadi, var redzēt, ka TreeSet uztur elementu augšupejošo secību.
Kas ir HashSet?
HashSet klase paplašina klasi AbstractSet, kas ievieš komplektu Interface. Saskarne Interfeiss manto kolekcijas un Iterable saskarnes hierarhiskā secībā. Programmā HashSet nav garantijas, ka elementi saglabās augšupejošo un ievietoto secību. Ja ievietotais pasūtījums bija A, B, C, vērtības var saglabāt kā C, A, B. Uzglabāšanas secība var būt arī A, B, C, taču nav garantijas, ka ievietotā vai augošā secība tiek saglabāta.
02. attēls: Programma ar HashSet
Saskaņā ar iepriekš minēto programmu tiek izveidots HashSet tipa objekts. Virknes 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 drukātas uz ekrāna. Izeja ir RL M. Lai arī no katra ir divi L, R un M burti, no katra tiek parādīts tikai viens burts. Tāpēc HashSet glabā unikālus elementus. Novērojot izvadi, var redzēt, ka nav augšupejošas kārtības vai ievietotā kārtība tiek saglabāta.
Kādas ir TreeSet un HashSet līdzības?
- Gan TreeSet, gan HashSet ir klases, kas pieder kolekcijas hierarhijai.
- Gan TreeSet, gan HashSet glabā tikai unikālus elementus.
- Gan TreeSet, gan HashSet var izmantot, lai uzglabātu un manipulētu ar daudziem elementiem.
- Gan TreeSet, gan HashSet neuztur ievietoto secību.
Kāda ir atšķirība starp TreeSet un HashSet?
Atšķirīgs raksts vidū pirms tabulas
TreeSet vs HashSet |
|
TreeSet ir klase kolekcijas hierarhijā, kas tiek izmantota unikālu elementu glabāšanai augošā secībā. | HashSet ir klase kolekcijas hierarhijā, kas tiek izmantota unikālu elementu glabāšanai, izmantojot Hashing mehānismu. |
Elementu uzglabāšana | |
TreeSet elementus saglabā augošā secībā. | HashSet elementus neglabā augošā secībā. |
Kopsavilkums - TreeSet vs HashSet
Programmējot, 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 īsteno iestatīšanas saskarni. TreeSet ir klase, kas ievieš saskarni Set, un to izmanto unikālu elementu glabāšanai augošā secībā. HashSet ir klase, kas ievieš saskarni Set, un to izmanto unikālu elementu glabāšanai, izmantojot Hashing mehānismu. Atšķirība starp TreeSet un HashSet ir tā, ka TreeSet elementus saglabā augošā secībā, savukārt HashSet elementus neglabā augošā secībā. Šajā rakstā tika apspriesta atšķirība starp TreeSet un HashSet.