Sobes.tech
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 laienda Collection liidest.

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