Erinevus TreeSet ja TreeMap vahel

Peamine erinevus - TreeSet vs puukaart
 

Massiivi kasutatakse sama tüüpi andmeelementide komplekti salvestamiseks. Enamik programmeerimiskeeli toetab massiive. Ehkki massiiv võib salvestada mitu väärtust; seal on suur puudus. Kui massiiv on loodud, pole seda võimalik muuta. Kui programmeerija kuulutas 10 elemendist koosneva massiivi, siis ei saa ta salvestada 15 elementi. Kui programmeerija deklareerib 10 elemendiga massiivi ja talletab ainult 5 elementi, on ülejäänud eraldatud mälu raiskamine. Programmeerimiskeeltes, näiteks Java, on kogud andmeelementide dünaamiliseks salvestamiseks. Kollektsioone on mitmeid. Kogud aitavad elementide lisamist, eemaldamist ja muid toiminguid teha. Baasliides on tuntud kui Collection. Komplekt, loend ja järjekord on mõned liidesed, mis laiendavad kogumisliidest. Kaart on kollektsioonihierarhia liides, kuid see ei laienda kollektsiooni liidest.  TreeSet on klass, mis rakendab liidest Set ja salvestab elemendid kasvavas järjekorras. TreeMap on klass, mis rakendab kaardiliidest ja salvestab võtme-, väärtusepaare kasvavas järjekorras. See on see võtme erinevus. Selles artiklis käsitletakse erinevust TreeSet ja TreeMap vahel.

SISU

1. Ülevaade ja peamised erinevused
2. Mis on TreeSet?
3. Mis on TreeMap
4. TreeSeti ja TreeMapi sarnasused
5. Kõrvuti võrdlus - TreeSet vs TreeMap tabelina
6. Kokkuvõte

Mis on TreeSet??

TreeSet on klass, mis rakendab liidest Set. TreeSet hooldab unikaalseid elemente. TreeSet rakendab NavigableSeti liidest. Navigeeritav liides laiendab SortedSet, Set, Collection ja Iterable liideseid hierarhilises järjekorras. TreeSet salvestab elemendid kasvavas järjekorras. Kui sisestamise järjekord on A, C, B, salvestab TreeSet need kujul A, B, C. On olemas TreeSeti meetodid. Lisamismeetodit kasutatakse elemendi lisamiseks komplekti. Eemaldamise meetodit kasutatakse määratud elemendi eemaldamiseks. Kõigi elementide eemaldamiseks kasutatakse selget meetodit. Sisaldav meetod tagastab tõese, kui määratud element on komplektis olemas. Need on mõned meetodid, mida pakub TreeSet. Vaadake allolevat programmi.

Joonis 01: Programm TreeSeti abil

Ülaltoodud programmi kohaselt on Treeset tüüpi objekt TreeSet. See võib talletada stringe. Elementide lisamiseks kasutatakse lisamismeetodit. Sisestusjärjestus on A, C, D ja B. Iteraatori abil trükitakse salvestatud väärtused ekraanile. Elemente hoitakse järjekorras A, B, C, D. Seetõttu säilitab TreeSet komplekti elementide kasvavas järjekorras. Kui D-elemendina on veel üks element, siis seda ei prindita, kuna element D on komplektis juba olemas. See salvestab alati ainulaadseid elemente.

Mis on TreeMap??

TreeMap on klass, mis rakendab kaardiliidest. Kaart toetab võtme-väärtuste paare. Iga võtme- ja väärtuspaar on kirje. Iga võti on ainulaadne ja sellel on vastav väärtus. Konkreetse võtme leidmiseks kasutatakse meetodit saturKey, kindla väärtuse leidmiseks aga meetodit sisaldabVäärtus. Hankemeetodit kasutatakse antud võtmele vastava väärtuse leidmiseks. Put-meetodit kasutatakse väärtuse salvestamiseks antud võtmega. Samuti on võimalik eemaldada element konkreetse võtme juures, kasutades eemaldamismeetodit. Need on mõned kaardiliidese levinumad meetodid. See aitab võtme põhjal elemente otsida, sisestada ja kustutada. TreeMap klass rakendab NavigableMap. NavigableMap laiendab sorteeritud kaarti. SortedMap laiendab kaarti. Seetõttu saab Map meetodeid kasutada ka TreeMapiga. Vaadake allolevat programmi.

Joonis 02: Programm TreeMap abil

Ülaltoodud programmi kohaselt luuakse TreeMapi objekt. Programmeerija saab objekti abil elemente lisada. Put meetodit kasutatakse võtme-, väärtuspaaride sisestamiseks. Elementide hankimiseks kasutatakse hankemeetodit koos konkreetse võtmega. Programmeerija saab kõigi võtmete ja väärtuste printimiseks kasutada rakendust Map.Entry. Väljundi jälgimisel ei säilita see sisestatud järjekorda. See salvestab elemendid kasvavas järjekorras.

Millised sarnasused on TreeSetil ja TreeMapil??

  • Nii TreeSet kui ka TreeMap on kogude hierarhias.
  • Nii TreeSet kui ka TreeMap säilitavad kasvavas järjekorras.
  • Nii TreeSet kui ka TreeMap saavad paljusid elemente salvestada ja nendega manipuleerida.

Mis vahe on TreeSetil ja TreeMapil??

TreeSet vs TreeMap

TreeSet on klass, mis rakendab liidest Set ja salvestab elemendid kasvavas järjekorras. TreeMap on klass, mis rakendab kaardiliidest ja salvestab võtme-, väärtusepaare kasvavas järjekorras.
 Rakendatud liides
TreeSet rakendab liidese komplekti. TreeMap rakendab kaardiliidest.

Kokkuvõte - TreeSet vs puukaart

Elementide komplekti salvestamiseks kasutatakse massiivi, kuid see ei aita elementide dünaamilist talletamist. Programmeerimiskeeled, näiteks Java, sisaldavad kogusid andmeelementide dünaamiliseks salvestamiseks. Kollektsioon on kollektsioonihierarhia põhiklass. See koosneb klassidest ja liidestest selliste toimingute tegemiseks nagu elementide lisamine, kustutamine. Set ja Map on kollektsioonihierarhia kaks liidest. TreeSet on klass, mis rakendab liidest Set ja salvestab elemendid kasvavas järjekorras. TreeMap on klass, mis rakendab kaardiliidest ja salvestab võtme-, väärtusepaare kasvavas järjekorras. See on erinevus TreeSet ja TreeMap vahel.

Viide:

1. “TreeSet Java - javatpoint.” , Java punkt. Saadaval siin
2. “TreeMap Java - javatpoint.”, Java Point. Saadaval siin