V tomto tutoriálu se seznámíme s rozhraním List v Javě a jeho metodami.
V Javě je Listrozhraní uspořádanou kolekcí, která nám umožňuje ukládat a přistupovat k prvkům postupně. Rozšiřuje Collectionrozhraní.
Třídy, které implementují seznam
Protože Listje to rozhraní, nemůžeme z něj vytvářet objekty.
Abychom mohli používat funkce Listrozhraní, můžeme použít tyto třídy:
- ArrayList
- Spojový seznam
- Vektor
- Zásobník

Tyto třídy jsou definovány v rámci kolekce a implementují Listrozhraní.
Jak používat seznam?
V Javě musíme java.util.Listpro použití importovat balíček List.
// ArrayList implementation of List List list1 = new ArrayList(); // LinkedList implementation of List List list2 = new LinkedList();
Zde jsme vytvořili objekty list1 a list2 tříd ArrayLista LinkedList. Tyto objekty mohou využívat funkce Listrozhraní.
Metody seznamu
ListRozhraní zahrnuje všechny metody Collectionrozhraní. Je to proto, že Collectionje super rozhraní List.
Některé z běžně používaných metod Collectionrozhraní, které je také k dispozici v Listrozhraní, jsou:
add()- přidá prvek do seznamuaddAll()- přidá všechny prvky jednoho seznamu do druhéhoget()- pomáhá náhodně přistupovat k prvkům ze seznamůiterator()- vrátí objekt iterátoru, který lze použít k sekvenčnímu přístupu k prvkům seznamůset()- mění prvky seznamůremove()- odebere prvek ze seznamuremoveAll()- odstraní všechny prvky ze seznamuclear()- odstraní všechny prvky ze seznamu (účinnější nežremoveAll())size()- vrátí délku seznamůtoArray()- převede seznam na polecontains()- vrátí,truepokud seznam obsahuje zadaný prvek
Implementace rozhraní seznamu
1. Implementace třídy ArrayList
import java.util.List; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating list using the ArrayList class List numbers = new ArrayList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Výstup
Seznam: (1, 2, 3) Přistupovaný prvek: 3 Odstraněný prvek: 2
Další informace ArrayListnajdete na Java ArrayList.
2. Implementace třídy LinkedList
import java.util.List; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating list using the LinkedList class List numbers = new LinkedList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Using the indexOf() method int index = numbers.indexOf(2); System.out.println("Position of 3 is " + index); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Výstup
Seznam: (1, 2, 3) Přistupovaný prvek: 3 Pozice 3 je 1 Odstraněný prvek: 2
Chcete-li se dozvědět více o LinkedList, navštivte Java LinkedList.
Seznam Java vs. sada
Obě Listrozhraní a Setrozhraní dědí Collectionrozhraní. Existuje však mezi nimi určitý rozdíl.
- Seznamy mohou obsahovat duplicitní prvky. Sady však nemohou obsahovat duplicitní prvky.
- Prvky v seznamech jsou uloženy v určitém pořadí. Prvky v sadách jsou však uloženy ve skupinách, jako jsou sady v matematice.
Teď, když víme, co Listje, uvidíme jeho implementace ArrayLista LinkedListtřídy podrobně v příštích kurzech.








