Peamine erinevus - TreeSet vs HashSet
Enamik programmeerimiskeeli toetab massiive. See on andmestruktuur, mida kasutatakse sama andmetüübi mitme elemendi salvestamiseks. Kui kuue elemendi jaoks on deklareeritud massiiv, siis ei saa seda kasutada kümne elemendi salvestamiseks. Seetõttu ei ole massiivid dünaamilised ega saa massiivi suurust pärast selle deklareerimist muuta. Programmeerimiskeeled, näiteks Java, toetavad kogusid, mida kasutatakse andmete dünaamiliseks salvestamiseks. Kogud toetavad selliseid toiminguid nagu elementide lisamine ja elementide kustutamine. Kogumishierarhias on mitmeid liideseid ja klasse. Baasliides on liides Collection. Set on liides, mis laiendab liidest Collection. See ei võimalda dubleerimist. TreeSet ja HashSet on kollektsiooni hierarhias kaks klassi ja mõlemad rakendavad liidest Set. TreeSet on klass, mis rakendab liidest Set, ja seda kasutatakse ainulaadsete elementide salvestamiseks kasvavas järjekorras. HashSet on klass, mis rakendab liidest Set ja seda kasutatakse unikaalsete elementide salvestamiseks räsimismehhanismi abil. Peamine erinevus TreeSeti ja HashSeti vahel on see, et TreeSet salvestab elemendid kasvavas järjekorras, samas kui HashSet ei salvesta elemente kasvavas järjekorras. Nii TreeSet kui ka HashSet salvestavad ainult unikaalseid elemente.
SISU
1. Ülevaade ja peamised erinevused
2. Mis on puukomplekt
3. Mis on HashSet
4. Sarnasused TreeSeti ja HashSeti vahel
5. Kõrvuti võrdlus - TreeSet vs HashSet tabelina
6. Kokkuvõte
Mis on puukomplekt?
Klass TreeSet rakendab NavigableSet liidest. Liides NavigableSet laiendab liideseid SortedSet, Set, Collection ja Iterable hierarhilises järjekorras. TreeSet säilitab alati kasvava järjekorra. Kui elemendid sisestati järjekorras B, A, C, salvestatakse need tähtedena A, B, C. Selliseid meetodeid nagu add (), remove () saab kasutada objektiga TreeSet. Lisamismeetodit saab kasutada elemendi lisamiseks. Eemaldamismeetodit kasutatakse elemendi eemaldamiseks kogust. Need on mõned meetodid, mida saab TreeSetiga kasutada.
Joonis 01: Programm TreeSetiga
Vastavalt ülaltoodud programmile luuakse TreeSet tüüpi objekt. Stringi andmeelemendid lisatakse sellele objektile lisamismeetodi abil. Sisestatud andmete järjekord on A, D, A, B, C, D. Iteraatori abil prinditakse salvestatud väärtused ekraanile. Väljundiks on A, B, C, D. Kuigi on kaks A-tähte ja kaks D-tähte, kuvab väljund kumbki ühe A ja D. Seetõttu salvestab TreeSet ainulaadseid elemente. Erilist sisestusjärjekorda pole, kuid väljundit vaadates on näha, et TreeSet säilitab elementide kasvava järjekorra.
Mis on HashSet?
Klass HashSet laiendab klassi AbstractSet, mis rakendab komplekti Interface. Liides Set pärib hierarhilises järjekorras liidesed Kogumine ja Iterable. Rakenduses HashSet pole mingit garantiid, et elemendid säilitaksid kasvava ja sisestatud järjekorra. Kui sisestatud järjekord oli A, B, C, võivad väärtused salvestuda kui C, A, B. Säilitamise järjekord võib olla ka A, B, C, kuid pole mingit garantiid, et sisestatud tellimus või tõusev järjestus säiliks.
Joonis 02: Programm HashSetiga
Vastavalt ülaltoodud programmile luuakse objekti tüüpi HashSet. Stringi andmeelemendid lisatakse sellele objektile lisamismeetodi abil. Sisestatud andmete järjekord on L, R, M, M, R, L. Iteraatori abil prinditakse salvestatud väärtused ekraanile. Väljundiks on RL M. Kuigi mõlemast on kaks L-, R- ja M-tähte, kuvatakse mõlemast ainult üks täht. Seetõttu salvestab HashSet ainulaadseid elemente. Väljundit jälgides võib näha, et tõusvas järjekorras ei ole või sisestatud järjekord säilib.
Millised on TreeSeti ja HashSeti sarnasused?
- Nii TreeSet kui ka HashSet on klassid, mis kuuluvad kogumishierarhiasse.
- Nii TreeSet kui ka HashSet salvestavad ainult unikaalseid elemente.
- Nii TreeSeti kui ka HashSeti saab kasutada paljude elementide salvestamiseks ja manipuleerimiseks.
- Nii TreeSet kui ka HashSet ei hoia sisestatud järjekorda.
Mis vahe on TreeSeti ja HashSeti vahel?
Erinev artikkel keskel enne tabelit
TreeSet vs HashSet |
|
TreeSet on klass kollektsioonihierarhias, mida kasutatakse unikaalsete elementide salvestamiseks kasvavas järjekorras. | HashSet on klass kogumishierarhias, mida kasutatakse räsimismehhanismi abil ainulaadsete elementide salvestamiseks. |
Elementide salvestamine | |
TreeSet salvestab elemendid kasvavas järjekorras. | HashSet ei salvesta elemente kasvavas järjekorras. |
Kokkuvõte - TreeSet vs HashSet
Programmeerimisel on vajalik andmete elementide dünaamiline salvestamine. Programmeerimiskeeled, näiteks Java, toetavad selle ülesande saavutamiseks kollektsioone. Kogumishierarhias on mitmeid liideseid ja klasse. TreeSet ja HashSet on kollektsiooni hierarhias kaks klassi. Mõlemad rakendavad liidest Set. TreeSet on klass Set, mis rakendab liidest Set ja seda kasutatakse ainulaadsete elementide salvestamiseks kasvavas järjekorras. HashSet on klass, mis rakendab liidest Set ja seda kasutatakse unikaalsete elementide salvestamiseks räsimismehhanismi abil. TreeSeti ja HashSeti erinevus seisneb selles, et TreeSet salvestab elemendid kasvavas järjekorras, samas kui HashSet ei salvesta elemente kasvavas järjekorras. Selles artiklis käsitleti TreeSeti ja HashSeti erinevust.