Ključna razlika – TreeSet vs TreeMap
Niz se koristi za pohranjivanje skupa elemenata podataka istog tipa. Većina programskih jezika podržava nizove. Iako niz može pohraniti više vrijednosti; postoji veliki nedostatak. Jednom kada je niz kreiran, nije ga moguće promijeniti. Ako je programer deklarisao niz od 10 elemenata, onda ne može pohraniti 15 elemenata. Kada programer deklarira niz od 10 elemenata i pohrani samo 5 elemenata, ostatak dodijeljene memorije je otpad. Programski jezici kao što je Java imaju kolekcije za dinamičko skladištenje elemenata podataka. Postoji veliki broj kolekcija. Kolekcije pomažu u izvođenju dodavanja, uklanjanja elemenata i drugih operacija. Osnovni interfejs je poznat kao zbirka. Set, List i Queue su neki interfejsi koji proširuju interfejs kolekcije. Mapa je interfejs hijerarhije kolekcije, ali ne proširuje interfejs kolekcije. TreeSet je klasa koja implementira Set interfejs i skladišti elemente u rastućem redosledu. TreeMap je klasa koja implementira Map interfejs i pohranjuje parove ključ, vrijednost u rastućem redoslijedu. To je ključna razlika. Ovaj članak govori o razlici između TreeSeta i TreeMap-a.
Šta je TreeSet?
TreeSet je klasa koja implementira Set interfejs. TreeSet održava jedinstvene elemente. TreeSet implementira NavigableSet interfejs. Navigable interfejs proširuje interfejse SortedSet, Set, Collection i Iterable u hijerarhijskom redosledu. TreeSet pohranjuje elemente u rastućem redoslijedu. Ako je redoslijed umetanja A, C, B, TreeSet će ih pohraniti kao A, B, C. Postoje metode TreeSet-a. Metoda add se koristi za dodavanje elementa u skup. Metoda remove se koristi za uklanjanje navedenog elementa. Jasna metoda se koristi za uklanjanje svih elemenata. Metoda contains vraća true ako je navedeni element prisutan u skupu. To su neke metode koje pruža TreeSet. Pogledajte program ispod.
Slika 01: Programiranje koristeći TreeSet
Prema gore navedenom programu, Treeset je objekat tipa TreeSet. Može pohraniti Stringove. Elementi se dodaju metodom add. Redosled umetanja je A, C, D i B. Koristeći iterator, sačuvane vrednosti se štampaju na ekranu. Elementi se pohranjuju u redoslijedu A, B, C, D. Stoga, TreeSet održava rastući redoslijed elemenata skupa. Ako postoji drugi element kao “D” neće se ispisati jer element D već postoji u skupu. Uvijek pohranjuje jedinstvene elemente.
Šta je TreeMap?
TreeMap je klasa koja implementira Map interfejs. Mapa podržava parove ključ/vrijednost. Svaki par ključ, vrijednost je unos. Svaki ključ je jedinstven i ima odgovarajuću vrijednost. Metoda containsKey se koristi za pronalaženje određenog ključa, dok se metoda containsValue koristi za pronalaženje određene vrijednosti. Get metoda se koristi za pronalaženje vrijednosti koja odgovara datom ključu. Metoda put se koristi za pohranjivanje vrijednosti sa datim ključem. Također je moguće ukloniti element na određenom ključu koristeći metodu uklanjanja. Ovo su neke uobičajene metode interfejsa mape. Pomaže u pretraživanju, umetanju i brisanju elemenata na osnovu ključa. TreeMap klasa implementira NavigableMap. NavigableMap proširuje SortedMap. SortedMap proširuje mapu. Stoga se metode Mape mogu koristiti sa TreeMap-om. Pogledajte program ispod.
Slika 02: Programirajte koristeći TreeMap
Prema gore navedenom programu kreira se objekat TreeMap. Programer može dodati elemente koristeći objekat. Put metoda se koristi za umetanje parova ključ, vrijednost. Get metoda se koristi sa specifičnim ključem za dohvaćanje elemenata. Programer može koristiti Map. Entry za ispis svih ključeva i vrijednosti. Kada posmatra izlaz, ne održava umetnuti redosled. Pohranjuje elemente u rastućem redoslijedu.
Koje su sličnosti između TreeSet-a i TreeMap-a?
- I TreeSet i TreeMap su u hijerarhiji kolekcije.
- I TreeSet i TreeMap održavaju rastući redoslijed.
- I TreeSet i TreeMap mogu pohraniti i manipulirati mnogim elementima.
Koja je razlika između TreeSeta i TreeMapa?
TreeSet vs TreeMap |
|
TreeSet je klasa koja implementira Set interfejs i sprema elemente u rastućem redosledu. | TreeMap je klasa koja implementira Map interfejs i pohranjuje parove ključeva i vrijednosti u rastućem redoslijedu. |
Implementirani interfejs | |
TreeSet implementira Set interfejs. | TreeMap implementira interfejs mape. |
Sažetak – TreeSet vs TreeMap
Niz se koristi za pohranjivanje skupa elemenata, ali ne pomaže dinamičkom pohranjivanju elemenata. Programski jezici kao što je Java sadrže zbirke za dinamičko skladištenje elemenata podataka. Kolekcija je osnovna klasa u hijerarhiji kolekcija. Sastoji se od klasa i interfejsa za obavljanje operacija kao što su dodavanje, brisanje elemenata. Set i Map su dva interfejsa hijerarhije kolekcije. TreeSet je klasa koja implementira Set interfejs i skladišti elemente u rastućem redosledu. TreeMap je klasa koja implementira Map interfejs i pohranjuje parove ključ, vrijednost u rastućem redoslijedu. To je razlika između TreeSeta i TreeMap-a.