Middle
Kirjeldage Java kogumite hierarhiat.
sobes.tech AI
Vastus AI-lt
Java kogumite hierarhia põhineb liidestel, mis pakuvad standardseid viise objektide gruppide esitamiseks.
Peamised liidesed:
Collection: hierarhia juurliides. Määratleb põhitegevused, mis kehtivad kõigile kogumitele: lisamine, eemaldamine, elementide olemasolu kontroll, suuruse määramine.Set: kogum, mis ei sisalda duplikaate ja millel ei ole määratletud järjekorda.List: järjekorras olev kogum, millele saab juurde pääseda indeksiga. Võib sisaldada duplikaate.Queue: kogum, mis on mõeldud elementide salvestamiseks enne töötlemist. Tavaliselt järgib FIFO (First-In, First-Out) reeglit, kuid on ka teisi realiseeringuid.Deque: kahemõõtmeline järjekord. Toetab elementide lisamist ja eemaldamist mõlemast otsast.Map: kogum, mis salvestab paare "võti-väärtus". Võtmed peavad olema unikaalsed. Ei laiendaCollectionliidest.
Peamised teostusklassid (näited):
| Liides | Teostusklassid (näited) | Kirjeldus |
|---|---|---|
Set |
HashSet, LinkedHashSet, TreeSet |
Ilma duplikaatideta. HashSet - ilma järjekorrata, LinkedHashSet - säilitab lisamise järjekorra, TreeSet - sorteeritud. |
List |
ArrayList, LinkedList, Vector |
Järjestatud. ArrayList - massiivi põhjal, LinkedList - ühendatud nimekirja põhjal, Vector - sünkroniseeritud (vana). |
Queue |
LinkedList, PriorityQueue |
Töötlemiseks. LinkedList - FIFO, PriorityQueue - prioriteetide põhjal. |
Deque |
ArrayDeque, LinkedList |
Kahemõõtmeline järjekord. ArrayDeque - massiivi põhjal, LinkedList - ühendatud nimekirja põhjal. |
Map |
HashMap, LinkedHashMap, TreeMap, Hashtable |
Võti-väärtus. HashMap - ilma garantiiga järjekorrast, LinkedHashMap - säilitab lisamise/juurdepääsu järjekorra, TreeMap - sorteeritud võtmete järgi, Hashtable - sünkroniseeritud (vana). |
Näide ArrayList kasutamisest:
// Stringide ArrayListi loomine
List<String> fruits = new ArrayList<>();
// Elementide lisamine
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
// Juurdepääs indeksiga
String firstFruit = fruits.get(0); // Apple
// Kogumi suurus
int size = fruits.size(); // 3
Näide HashSet kasutamisest:
// Täisarvude HashSeti loomine
Set<Integer> numbers = new HashSet<>();
// Elementide lisamine (duplikaadid ignoreeritakse)
numbers.add(1);
numbers.add(2);
numbers.add(2); // Ignoreeritakse
// Kogumi suurus
int size = numbers.size(); // 2
Näide HashMap kasutamisest:
// HashMapi loomine: võti - String, väärtus - Integer
Map<String, Integer> ages = new HashMap<>();
// Paaride lisamine
ages.put("Alice", 30);
ages.put("Bob", 25);
// Väärtuse saamine võtmisega võtme järgi
int aliceAge = ages.get("Alice"); // 30
// Võtme olemasolu kontroll
boolean hasBob = ages.containsKey("Bob"); // tõene