Rozhraní seznamu Java

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 seznamu
  • addAll() - přidá všechny prvky jednoho seznamu do druhého
  • get() - 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 seznamu
  • removeAll() - odstraní všechny prvky ze seznamu
  • clear()- odstraní všechny prvky ze seznamu (účinnější než removeAll())
  • size() - vrátí délku seznamů
  • toArray() - převede seznam na pole
  • contains()- 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.

Zajímavé články...