Sobes.tech
Junior

Millised on kogumite rakendused Java programmeerimiskeeles?

sobes.tech AI

Vastus AI-lt

  • Interfaces:

    • Collection: Põhiliides kõigile kogumitele.
    • List: Järjepidev kogum (indeksitega).
    • Set: Kogum ilma duplikaatideta.
    • SortedSet: Järjepidev kogum ilma duplikaatideta, elemendid on sorteeritud.
    • Map: Assotsiatiivne massiiv (võti-väärtus).
    • SortedMap: Sorteeritud assotsiatiivne massiiv võtmete järgi.
    • Queue: Kogum elementide hoidmiseks enne nende töötlemist.
    • Deque: Kahepoolne järjekord.
  • Klasid (peamised teostused):

    • List jaoks:
      • ArrayList: Dynaamiline massiiv. Kiire juurdepääs indeksi järgi, aeglane sisestus/kustutus keskel.
      • LinkedList: Topeltühendatud nimekiri. Aeglane juurdepääs indeksi järgi, kiire sisestus/kustutus keskel.
      • Vector: Vananenud sünkroneeritud ArrayList ekvivalent.
      • Stack: Vector alamklass, mis teostab virna (LIFO).
  • Set jaoks: - HashSet: Põhineb hash-tabelil. Ei garanteeri elementide järjekorda. - LinkedHashSet: Põhineb hash-tabelil ja seotud nimekirjal. Säilitab sisestamise järjekorra. - TreeSet: Põhineb punane-must puu struktuuril. Elemendid on sorteeritud kasvavas järjekorras.

  • Map jaoks: - HashMap: Põhineb hash-tabelil. Ei garanteeri paaride järjekorda. - Hashtable: Vananenud sünkroneeritud HashMap ekvivalent. - LinkedHashMap: Põhineb hash-tabelil ja seotud nimekirjal. Säilitab sisestamise järjekorra. - TreeMap: Põhineb punane-must puu struktuuril. Paarid on sorteeritud võtmete järgi.

  • Queue jaoks: - PriorityQueue: Prioriteedijärjekord. Elemendid eemaldatakse nende loomuliku järjekorra või võrdleja järgi. - ArrayDeque: Kahepoolne järjekord, mis põhineb massiivil.

  • Kasulikud tööriistad: - Collections: Statistilised meetodid kogumitega töötamiseks (sorteerimine, otsing, sünkroniseerimine jms.).

// Näide ArrayList kasutamisest
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
System.out.println(names.get(0)); // Alice
// Näide HashSet kasutamisest
Set<Integer> numbers = new HashSet<>();
numbers.add(1);
numbers.add(2);
numbers.add(1); // Duplikaat ei lisandu
System.out.println(numbers.size()); // 2
// Näide HashMap kasutamisest
Map<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);
System.out.println(ages.get("Alice")); // 30
// Näide PriorityQueue kasutamisest
Queue<Integer> priorityQueue = new PriorityQueue<>();
priorityQueue.add(3);
priorityQueue.add(1);
priorityQueue.add(2);
System.out.println(priorityQueue.poll()); // 1 (madalaim prioriteet)