Zoznamy Java sú obzvlášť vhodné pre scenáre, kde veľkosť dátového súboru nie je od začiatku jasná alebo ak sa očakáva, že sa veľkosť bude v priebehu času meniť. Ukážeme vám konkrétne príklady toho, ako používať zoznamy Java, ako aj operácie, ktoré s nimi môžete vykonávať.

Na čo sa dajú použiť zoznamy Java?

Zoznamy sú jednou zo základných dátových štruktúr v programovaní v jazyku Java a môžu sa používať rôznymi spôsobmi. Obsahujú prvky, ktoré sú usporiadané v poradí. Prvky v zozname môžete pridávať, upravovať, odstraňovať alebo vyhľadávať. Zoznamy v jazyku Java môžu obsahovať objekty, ktoré patria do rôznych tried. Je tiež možné ukladať duplicitné prvky alebo nulové prvky. Okrem toho zoznamy v jazyku Java podporujú generické triedy a metódy, čím zabezpečujú typovú bezpečnosť.

Zoznamy sa dajú použiť pre databázové aplikácie. Tu sa používajú na ukladanie a prístup k veľkým dátovým súborom z databázových dotazov. V grafických užívateľských rozhraniach sa zoznamy Java často používajú na zobrazenie zoznamu prvkov, ako sú možnosti v roletovom menu alebo rôzne položky v internetovom obchode.

Zoznamy Java sú tiež nepostrádateľné v algoritmoch a dátových štruktúrach. Používajú sa v algoritmoch triedenia, vyhľadávacích algoritmoch a štruktúrach zásobníkov a front. V sieťových aplikáciách môžu zoznamy pomôcť uľahčiť správu pripojení a socketov.

Aké metódy zoznamu má Java?

Zoznamy Java patria do rozhrania Collection a musia byť importované z balíka java.util. S Java ArrayList, LinkedList, Vector a Stack existujú rôzne implementačné triedy, z ktorých si môžete vybrať. Rôzne inštancie zoznamov môžete deklarovať pomocou nasledujúceho kódu:

List linkedList = new LinkedList(); // LinkedList
List arrayList = new ArrayList(); // ArrayList
List vecList = new Vector(); // Vector
List stackList = new Stack(); //Stack
Java

Tu sú niektoré z najdôležitejších metód, ktoré môžete použiť pre zoznamy v Jave:

  1. int size(): Určuje počet prvkov v zozname
  2. void add(int index, E element): Pridá prvok na konkrétnu pozíciu
  3. boolean isEmpty(): Skontroluje, či je zoznam prázdny
  4. void clear(): Odstráni všetky prvky zo zoznamu
  5. boolean contains(Object o): Vráti hodnotu true, ak je objekt o v zozname
  6. boolean add(E e): Pridá prvok na koniec zoznamu
  7. boolean remove(Object o): Odstráni prvý výskyt prvku
  8. E get(int index): Nahradí alebo vloží prvok na špecifikovaný index
  9. E set(int index, E element): Nahradí alebo vloží prvok na špecifikovanom indexe
  10. Object[] toArray(): Vráti pole obsahujúce prvky zo zoznamu
  11. List<E> subList(int fromIndex, int toIndex): Zachytáva všetky prvky v špecifikovanom intervale
  12. default void replaceAll(UnaryOperator<E> operator): Štandardná metóda v Jave 8, ktorá aplikuje unárne operátory Javy na každý prvok a potom nahradí každý prvok výsledkom operácie.

Ako používať zoznamy Java

Nižšie ukážeme bežné metódy, ktoré sa používajú pri práci so zoznamami v jazyku Java. Patria medzi ne konverzia polí na zoznamy a naopak, ako aj triedenie, načítavanie a upravovanie prvkov.

Previesť pole na zoznam

Ak chcete previesť pole na zoznam, môžete prechádzať pole pomocou slučiek a pridávať prvky do zoznamu jeden po druhom pomocou metódy add().

import java.util.*;
    public class ArrayToList{
      public static void main(String args[]){
      // Creating Array
      String[] colors={"blue","green","red","yellow"};
      System.out.println("Array: "+Arrays.toString(colors));
      //Converting Array to List
      List<String> list=new ArrayList<String>();
      for(String color: colors){
        list.add(color);
      }
      System.out.println("List: "+list);
      }
    }
Java

Výsledkom je výstup:

Array: [blue, green, red, yellow]
List: [blue, green, red, yellow]
Java

Previesť zoznam na pole

Pomocou metódy toArray() môžete zoznam previesť na pole:

import java.util.*;
    public class ListToArray{
      public static void main(String args[]){
       List<String> days = new ArrayList<String>();
       days.add("Monday");
       days.add("Tuesday");
       days.add("Wednesday");
       days.add("Thursday");
       days.add("Friday");
       days.add("Saturday");
       days.add("Sunday");
       // Converting ArrayList to Array
       String[] array = days.toArray(new String[days.size()]);
       System.out.println("Array: "+Arrays.toString(array));
       System.out.println("List: "+days);
      }
    }
Java

Vo výstupe môžete vidieť, že prvky v poli a zozname sú identické:

Array: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]
List: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]
Java

Volanie a zmena prvkov v zozname Java

Pomocou metódy get() môžete pristupovať k prvku na konkrétnom indexe. Metóda set() vám umožňuje nahradiť prvok iným prvkom na určitej pozícii v zozname.

import java.util.*;
    public class ListExample{
      public static void main(String args[]){
      // Creating a List
      List<String> letters=new ArrayList<String>();
      // Adding elements
      letters.add("a");
      letters.add("b");
      letters.add("c");
      // get()
      System.out.println("Element at index 1: "+letters.get(1));
      // set()
      letters.set(2, "d");
      for(String letter: letters)
      System.out.println(letter);
      }
    }
Java

Keďže počítanie v Jave začína indexom 0, dostaneme nasledujúci výsledok:

Element at index 1: b
a
b
d
Java

Triedenie zoznamu

Zoznam Java môžete triediť pomocou metódy .sort() z triedy Collections. Zoznam môžete prechádzať pomocou slučky a prvky postupne tlačiť na konzolu:

import java.util.*;
    class SortArrayList{
      public static void main(String args[]){
      // Creating a list of numbers
      List<Integer> numbers=new ArrayList<Integer>();
      numbers.add(4);
      numbers.add(57);
      numbers.add(92);
      numbers.add(26);
      // Sorting
      Collections.sort(numbers);
      for(Integer number: numbers)
        System.out.println(number);
      }
    }
Java

Čísla v zozname Java sa na obrazovke zobrazujú od najmenšieho po najväčšie:

4
26
57
92
Java
Prejsť na hlavné menu