Većina programskih jezika koristi nizove za pohranu skupa podataka iste vrste. Jedan od glavnih nedostataka niza je taj što ga, nakon što je proglašena veličina matrice, ne može mijenjati. Ako programer želi pohraniti vrijednosti veće od veličine polja, tada bi trebao stvoriti novi niz i kopirati postojeće elemente u novi niz. U tim se situacijama mogu koristiti kolekcije. Moguće je dodati elemente, izbrisati elemente i mnoge druge operacije uz podršku kolekcija. Postoje različite vrste kolekcija dostupne u programskim jezicima kao što je Java. List i Set sučelja su hijerarhije zbirke. Osnovno sučelje za ostala sučelja je Collection. ključna razlika između Popisa i Set je to List podržava pohranjivanje istog elementa više puta dok Set ne podržava pohranjivanje istog elementa više puta. Stoga skup ne dopušta umnožavanje.
1. Pregled i ključne razlike
2. Što je popis
3. Što je postavljeno
4. Sličnosti između popisa i skupa
5. Usporedba - Usporedba prema popisu u tabličnom obliku
6. Sažetak
Popis je sučelje koje proširuje sučelje Collection. Postoji nekoliko metoda u sučelju zbirke. Način dodavanja pomaže u dodavanju elementa. 'Metoda uklanjanja' je uklanjanje elementa. Postoji "addAll metoda" za dodavanje više elemenata, dok "removeAll metoda" za uklanjanje elemenata iz kolekcije. Metoda sadrži pomaže otkriti je li određeni objekt prisutan u Popisu ili ne. Sadržaj "sadrži sve" nalazi se u tome je li skup predmeta prisutan u kolekciji. Iteracijska metoda koristi se za kretanje kroz stavke popisa. Kako List proširuje zbirku, sve metode prikupljanja pripadaju Popisu. Osim tih metoda, Popis ima i metode poput get and set. Programer može dobiti vrijednost na određenom indeksu pomoću metode get. Programer može postaviti vrijednost na određenom indeksu pomoću zadane metode. 'IndexOf' se koristi za pronalaženje indeksa elementa.
Na Popisu se operacije mogu izvoditi prema položaju. Programer može pružiti podatkovni element koji se mora dodati indeksu. Dakle, bit će dodan specifičnom indeksu. Ako programer ne da indeks, element će biti dodan na kraj Popisa. Također održava umetnuti red. Ako se doda element 1 i doda element 2, tada će element 1 biti ispred elementa2.
Slika 01: Popis i postavljanje
ArrayList, LinkedList, Vector neke su klase koje implementiraju List. U ArrayListu pristupanje elementu je brzo, ali umetanje i brisanje je niže. ArrayList nije siguran na niti. Pristupanje istom ArrayListu iz više niti možda ne daje isti rezultat. U LinkedListu, elementi su povezani i unatrag i prema naprijed. Umetanje i brisanje elemenata koristeći LinkedList brže je od ArrayList. LinkedList provodi popis i red oba. Vector je sličan ArrayList-u, ali je siguran za gaze jer su sve metode sinkronizirane.
Set je sučelje koje proširuje sučelje Collection. Kako Set sučelje proširuje Zbirku, sve metode prikupljanja također pripadaju Setu. Skup ne podržava vrijednosti dupliciranja. Stoga programer ne može dvaput pohraniti isti element. Održava jedinstveni skup elemenata. Sučelje SortedSet proširuje Set sučelje. SortedSet održava elemente u poredanim redoslijedom. NavigableSet sučelje proširuje SortedSet. NavigableSet pruža metode navigacije kao što su donji, kat, strop itd.
HashSet, LinkedHashSet i TreeSet su neke klase koje implementiraju Set sučelje. HashSet implementira Postavljanje sučelja. Ne održava umetnuti red. Ako su vrijednosti umetnute kao a, x, b, mogu se pohraniti kao, x, a, b. LinkedSet održava umetnuti red. Ako su elementi umetnuti redom a, x, b, redoslijed pohranjivanja bit će a, x, b. TreeSet implementira Set i NavigableSet. Ne održava redoslijed umetanja, već elemente pohranjuje u poredani redoslijed. Ako je umetnuti redoslijed a, c, b, tada će se elementi pohraniti kao a, b, c. Svi HashSet, LinkedHashSet i TreeSet neće imati dvostruke elemente.
Lista vs postava | |
List sučelje je sučelje zbirke koje sadrži metode za izvođenje operacija poput umetanja, brisanja na temelju indeksa. | Set Interface je sučelje kolekcije koje sadrži metode za izvođenje operacija poput umetanja, brisanja elemenata uz održavanje jedinstvenih elemenata. |
klase | |
ArrayList, Vector i LinkedList su klase koje implementiraju List sučelje. | HashSet, LinkedHashSet i TreeSet su klase koje implementiraju Set sučelje. |
Umnožavanje elemenata | |
Popis podržava kopiranje elemenata. | Skup ne podržava dupliranje elemenata. Elementi su jedinstveni. |
Zbirke se koriste za dinamičko pohranjivanje elemenata. Programski jezici kao što je Java nudi sučelje kolekcije. Popis i postava su dva sučelja koja pripadaju sučelju kolekcije. Oba sučelja proširuju Collection. Ovaj članak govori o razlici popisa i skupa. Ključna razlika između Popisa i Postavi je što Lista podržava pohranjivanje istog elementa više puta dok Set ne podržava pohranjivanje istog elementa više puta. Set uvijek održava jedinstvene elemente.
1.Point, Vodiči. „Java zbirke.“, Tutorials Point, 8. siječnja 2018. Dostupno ovdje