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.
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
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.
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.
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. |
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.
1. “TreeSet Java - javatpoint.” , Java punkt. Saadaval siin
2. “TreeMap Java - javatpoint.”, Java Point. Saadaval siin