Seznamy Java jsou zvláště vhodné pro scénáře, kde velikost datového souboru není od začátku jasná nebo pokud se očekává, že se velikost bude v průběhu času měnit. Ukážeme vám konkrétní příklady použití seznamů Java a operace, které s nimi můžete provádět.

K čemu lze seznamy Java použít?

Seznamy jsou jednou ze základních datových struktur v programování v jazyce Java a lze je používat různými způsoby. Obsahují prvky, které jsou uspořádány v pořadí. Prvky v seznamu lze přidávat, upravovat, mazat nebo vyhledávat. Seznamy v jazyce Java mohou obsahovat objekty, které patří do různých tříd. Je také možné ukládat duplicitní prvky nebo prvky typu null. Seznamy v jazyce Java navíc podporují generické třídy a metody, což zajišťuje typovou bezpečnost.

Seznamy lze použít pro databázové aplikace. Zde se používají k ukládání a přístupu k velkým datovým sadám z databázových dotazů. V grafických uživatelských rozhraních se seznamy Java často používají k zobrazení seznamu prvků, jako jsou možnosti v rozevíracím menu nebo různé položky v internetovém obchodě.

Seznamy Java jsou také nepostradatelné v algoritmech a datových strukturách. Používají se v algoritmech třídění, vyhledávacích algoritmech a strukturách zásobníků a front. V síťových aplikacích mohou seznamy usnadnit správu připojení a soketů.

Jaké metody seznamu má Java?

Seznamy Java patří do rozhraní Collection a musí být importovány z balíčku java.util. S Java ArrayList, LinkedList, Vector a Stack existují různé implementační třídy, ze kterých si můžete vybrat. Různé instance seznamů můžete deklarovat pomocí následujícího kódu:

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

Zde jsou některé z nejdůležitějších metod, které můžete použít pro seznamy v Javě:

  1. int size(): Určuje počet prvků v seznamu
  2. void add(int index, E element): Přidá prvek na konkrétní pozici
  3. boolean isEmpty(): Zkontroluje, zda je seznam prázdný
  4. void clear(): Odstraní všechny prvky ze seznamu
  5. boolean contains(Object o): Vrátí hodnotu true, pokud je objekt o v seznamu
  6. boolean add(E e): Přidá prvek na konec seznamu
  7. boolean remove(Object o): Odstraní první výskyt prvku
  8. E get(int index): Nahradí nebo vloží prvek na zadaný index
  9. E set(int index, E element): Nahradí nebo vloží prvek na zadaný index
  10. Object[] toArray(): Vrátí pole obsahující prvky ze seznamu
  11. List<E> subList(int fromIndex, int toIndex): Zachytí všechny prvky v zadaném intervalu
  12. default void replaceAll(UnaryOperator<E> operator): Standardní metoda v Javě 8, která aplikuje unární operátory Javy na každý prvek a poté nahradí každý prvek výsledkem operace.

Jak používat seznamy Java

Níže předvedeme běžné metody, které se používají při práci se seznamy v Javě. Patří mezi ně převádění polí na seznamy a naopak, stejně jako třídění, načítání a úpravy prvků.

Převést pole na seznam

Chcete-li převést pole na seznam, můžete pole projít pomocí smyček a prvky přidávat do seznamu jeden po druhém pomocí metody 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ýsledkem je následující výstup:

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

Převést seznam na pole

Pomocí metody toArray() můžete převést seznam 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

Ve výstupu můžete vidět, že prvky v poli a seznamu jsou identické:

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

Volání a změna prvků v seznamu Java

Pomocí metody get() můžete přistupovat k prvku na konkrétním indexu. Metoda set() vám umožňuje nahradit prvek jiným prvkem na určité pozici v seznamu.

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

Protože počítání v Javě začíná indexem 0, dostaneme následující výsledek:

Element at index 1: b
a
b
d
Java

Seřadit seznam

Seznam Java můžete seřadit pomocí metody .sort() z třídy Collections. Seznam můžete procházet pomocí smyčky a jednotlivé prvky postupně tisknout na konzoli:

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 seznamu Java se na obrazovce zobrazují od nejmenšího po největší:

4
26
57
92
Java
Přejít do hlavního menu