Pagrindinis skirtumas – TreeSet vs TreeMap
Masyvas naudojamas to paties tipo duomenų elementų rinkiniui saugoti. Dauguma programavimo kalbų palaiko masyvus. Net jei masyvas gali saugoti kelias reikšmes; yra didelis trūkumas. Sukūrus masyvą, jo pakeisti nebeįmanoma. Jei programuotojas deklaravo 10 elementų masyvą, jis negali saugoti 15 elementų. Kai programuotojas deklaruoja 10 elementų masyvą ir išsaugo tik 5 elementus, likusi skirta atmintis yra švaistymas. Programavimo kalbos, tokios kaip „Java“, turi rinkinius, skirtus duomenų elementams dinamiškai saugoti. Yra nemažai kolekcijų. Kolekcijos padeda atlikti elementų pridėjimo, pašalinimo ir kitas operacijas. Pagrindinė sąsaja žinoma kaip kolekcija. Set, List ir Queue yra kai kurios sąsajos, praplečiančios Kolekcijos sąsają. Žemėlapis yra kolekcijos hierarchijos sąsaja, tačiau ji neišplečia Kolekcijos sąsajos. TreeSet yra klasė, kuri įgyvendina Set sąsają ir saugo elementus didėjančia tvarka. TreeMap yra klasė, kuri įgyvendina žemėlapio sąsają ir saugo raktų, reikšmių poras didėjančia tvarka. Tai yra pagrindinis skirtumas. Šiame straipsnyje aptariamas skirtumas tarp TreeSet ir TreeMap.
Kas yra TreeSet?
The TreeSet yra klasė, kuri įgyvendina Set sąsają. TreeSet palaiko unikalius elementus. TreeSet įgyvendina NavigableSet sąsają. Naršymo sąsaja hierarchine tvarka išplečia „SortedSet“, „Set“, „Collection“ir „Iterable“sąsajas. TreeSet saugo elementus didėjančia tvarka. Jei įterpimo tvarka yra A, C, B, „TreeSet“juos išsaugos kaip A, B, C. Yra „TreeSet“metodų. Pridėti metodas naudojamas elementui įtraukti į rinkinį. Pašalinimo metodas naudojamas nurodytam elementui pašalinti. Aiškus metodas naudojamas pašalinti visus elementus. Metodas, kuriame yra, grąžina tikrąją vertę, jei nurodytas elementas yra rinkinyje. Tai yra keletas „TreeSet“pateiktų metodų. Žiūrėkite toliau pateiktą programą.
01 pav. Programa naudojant TreeSet
Pagal aukščiau pateiktą programą, Treeset yra TreeSet tipo objektas. Jis gali saugoti stygas. Elementai pridedami naudojant pridėjimo metodą. Įterpimo tvarka yra A, C, D ir B. Naudojant iteratorių, išsaugotos reikšmės atspausdinamos ekrane. Elementai saugomi A, B, C, D tvarka. Todėl TreeSet išlaiko rinkinio elementų didėjimo tvarką. Jei yra kitas elementas „D“, jis nebus spausdinamas, nes elementas D jau yra rinkinyje. Jame visada saugomi unikalūs elementai.
Kas yra TreeMap?
TreeMap yra klasė, kuri įgyvendina žemėlapio sąsają. Žemėlapis palaiko raktų ir reikšmių poras. Kiekviena raktų, reikšmių pora yra įrašas. Kiekvienas raktas yra unikalus ir turi atitinkamą vertę. „ContentKey“metodas naudojamas konkrečiam raktui rasti, o „withinsValue“metodas naudojamas konkrečiai reikšmei rasti. Gauti metodas naudojamas norint rasti reikšmę, atitinkančią nurodytą raktą. Įdėjimo metodas naudojamas reikšmei išsaugoti su nurodytu raktu. Taip pat galima pašalinti elementą tam tikru klavišu naudojant pašalinimo metodą. Tai yra keletas bendrų žemėlapio sąsajos metodų. Tai padeda ieškoti, įterpti ir ištrinti elementus pagal raktą. TreeMap klasė įgyvendina NavigableMap. „NavigableMap“išplečia „SortedMap“. „SortedMap“išplečia žemėlapį. Todėl žemėlapio metodus galima naudoti su TreeMap. Žiūrėkite toliau pateiktą programą.
02 pav. Programa naudojant TreeMap
Pagal aukščiau pateiktą programą sukuriamas TreeMap objektas. Programuotojas gali pridėti elementus naudodamas objektą. Įdėjimo metodas naudojamas raktų, reikšmių poroms įterpti. Gauti metodas naudojamas su konkrečiu raktu elementams gauti. Programuotojas gali naudoti Map. Entry, kad išspausdintų visus raktus ir reikšmes. Stebint išvestį, jis neišlaiko įterptos tvarkos. Elementai saugomi didėjančia tvarka.
Kokie yra TreeSet ir TreeMap panašumai?
- TreeSet ir TreeMap yra rinkinio hierarchijoje.
- Tiek TreeSet, tiek TreeMap išlaiko didėjimo tvarką.
- TreeSet ir TreeMap gali saugoti ir valdyti daug elementų.
Kuo skiriasi TreeSet ir TreeMap?
TreeSet vs TreeMap |
|
TreeSet yra klasė, kuri įgyvendina Set sąsają ir saugo elementus didėjančia tvarka. | TreeMap yra klasė, kuri įgyvendina žemėlapio sąsają ir saugo raktų, reikšmių poras didėjančia tvarka. |
Įdiegta sąsaja | |
TreeSet įgyvendina rinkinio sąsają. | TreeMap įgyvendina žemėlapio sąsają. |
Santrauka – TreeSet vs TreeMap
Masyvas naudojamas elementų rinkiniui saugoti, tačiau jis nepadeda dinamiškai saugoti elementus. Programavimo kalbose, tokiose kaip „Java“, yra rinkiniai, skirti dinamiškai saugoti duomenų elementus. Kolekcija yra pagrindinė kolekcijų hierarchijos klasė. Jį sudaro klasės ir sąsajos, skirtos atlikti tokias operacijas kaip elementų pridėjimas, ištrynimas. Nustatyti ir Žemėlapis yra dvi Kolekcijos hierarchijos sąsajos. TreeSet yra klasė, kuri įgyvendina Set sąsają ir saugo elementus didėjančia tvarka. TreeMap yra klasė, kuri įgyvendina žemėlapio sąsają ir saugo raktų, reikšmių poras didėjančia tvarka. Tai yra skirtumas tarp TreeSet ir TreeMap.