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 talletamiseks. Seetõttu pole 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 kustutamine. Kogumishierarhias on mitmeid liideseid ja klasse. Põhiliides on kogumiliides. Komplekt on liides, mis laiendab kogumisliidest. See ei luba dubleerimist. TreeSet ja HashSet on kollektsiooni hierarhias kaks klassi ja mõlemad rakendavad liidese komplekti Set. TreeSet on klass, mis rakendab kasutajaliidest ja seda kasutatakse unikaalsete elementide salvestamiseks kasvavas järjekorras. HashSet on klass, mis rakendab liidese komplekti ja seda kasutatakse unikaalsete elementide salvestamiseks, kasutades Hashingi mehhanismi. võtme erinevus TreeSeti ja HashSeti vahel on see TreeSet salvestab elemendid kasvavas järjekorras, samal ajal kui HashSet ei salvesta elemente kasvavas järjekorras. Nii TreeSet kui ka HashSet salvestavad ainult unikaalseid elemente.
1. Ülevaade ja peamised erinevused
2. Mis on TreeSet?
3. Mis on HashSet
4. Puu ja HashSeti sarnasused
5. Võrdlus kõrvuti - TreeSet vs HashSet tabelina
6. Kokkuvõte
TreeSeti klass rakendab NavigableSeti liidest. NavigableSeti liides laiendab sorteeritud liideseid Sort, Set, Collection ja Iterable liidestes hierarhilises järjekorras. TreeSet säilitab alati kasvavat järjekorda. Kui elemendid lisati järjestuses B, A, C, salvestatakse need A, B, C. Meetodeid nagu lisa (), eemalda () saab kasutada objektiga TreeSet. Lisamismeetodit saab kasutada elemendi lisamiseks. Eemaldamise meetodit kasutatakse elemendi eemaldamiseks kollektsioonist. Need on mõned meetodid, mida saab TreeSetiga kasutada.
Joonis 01: programm TreeSetiga
Ülaltoodud programmi kohaselt luuakse tüüp TreeSet. Stringi andmeelemendid lisatakse sellele objektile lisamismeetodi abil. Sisestatud andmete järjekord on A, D, A, B, C, D. Iteraatori abil trükitakse salvestatud väärtused ekraanile. Väljund on A, B, C, D. Ehkki on kaks A-tähte ja kaks D-tähte, kuvatakse väljundis üks A ja üks D. Seetõttu salvestab TreeSet ainulaadsed elemendid. Puudub konkreetne sisestamise järjekord, kuid väljundit jälgides on näha, et TreeSet säilitab elementide kasvavas järjekorras.
HashSet-klass laiendab AbstractSet-klassi, mis rakendab Set Interface. Määratud liides pärib hierarhilises järjekorras Kogumis- ja Korrigeeritavad liidesed. HashSetis pole mingit garantiid, et elemendid säilitavad kasvavas järjekorras ja sisestatud järjekorras. Kui sisestatud järjekord oli A, B, C, siis võivad väärtused salvestuda kui C, A, B. Salvestamisjärjekord võib olla ka A, B, C, kuid sisestatud järjekorra või kasvava järjekorra säilimise garantii ei ole..
Joonis 02: Programm HashSetiga
Ülaltoodud programmi kohaselt luuakse tüüp HashSet. Stringi andmeelemendid lisatakse sellele objektile lisamismeetodi abil. Sisestatud andmete järjekord on L, R, M, M, R, L. Iteraatori abil trükitakse salvestatud väärtused ekraanile. Väljundiks on R L M. Ehkki mõlemal 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 on näha, et kasvavat järjekorda pole või sisestatud järjekord säilib.
TreeSet vs HashSet | |
TreeSet on klass hierarhias, mida kasutatakse unikaalsete elementide salvestamiseks kasvavas järjekorras. | HashSet on klass hierarhias, mida kasutatakse unikaalsete elementide salvestamiseks Hashingi mehhanismi abil. |
Elementide hoidmine | |
TreeSet salvestab elemendid kasvavas järjekorras. | HashSet ei salvesta elemente kasvavas järjekorras. |
Programmeerimisel on vaja andmete elemente dünaamiliselt säilitada. Programmeerimiskeeled, näiteks Java, toetavad selle ülesande täitmiseks kogusid. Kogumishierarhias on mitmeid liideseid ja klasse. TreeSet ja HashSet on kollektsiooni hierarhias kaks klassi. Mõlemad rakendavad liidest Set. TreeSet on klass, mis rakendab kasutajaliidest ja seda kasutatakse unikaalsete elementide salvestamiseks kasvavas järjekorras. HashSet on klass, mis rakendab liidese komplekti ja seda kasutatakse unikaalsete elementide salvestamiseks, kasutades Hashingi mehhanismi. Puu ja HashSeti erinevus seisneb selles, et TreeSet salvestab elemendid kasvavas järjekorras, samal ajal kui HashSet ei salvesta elemente kasvavas järjekorras. Selles artiklis käsitleti erinevust TreeSet ja HashSet vahel.
1. “TreeSet Java - javatpoint.” JavaPoint. Saadaval siin
2. “HashSet Java-s - javatpoint”. JavaPoint . Saadaval siin