W tym samouczku dowiemy się o interfejsie List w Javie i jego metodach.
W Javie List
interfejs jest uporządkowaną kolekcją, która umożliwia nam sekwencyjne przechowywanie elementów i uzyskiwanie do nich dostępu. Rozszerza Collection
interfejs.
Klasy, które implementują List
Ponieważ List
jest to interfejs, nie możemy tworzyć z niego obiektów.
W celu wykorzystania funkcjonalności List
interfejsu możemy skorzystać z następujących klas:
- ArrayList
- Połączona lista
- Wektor
- Stos
Te klasy są zdefiniowane w ramach kolekcji i implementują List
interfejs.
Jak korzystać z listy?
W Javie musimy zaimportować java.util.List
pakiet, aby użyć List
.
// ArrayList implementation of List List list1 = new ArrayList(); // LinkedList implementation of List List list2 = new LinkedList();
Tutaj stworzyliśmy obiekty list1 i list2 klas ArrayList
i LinkedList
. Obiekty te mogą korzystać z funkcjonalności List
interfejsu.
Metody listy
List
Interfejs obejmuje wszystkie sposoby przez Collection
interfejs. To dlatego, że Collection
jest super interfejsem List
.
Niektóre z powszechnie używanych metod Collection
interfejsu, które są również dostępne w List
interfejsie, to:
add()
- dodaje element do listyaddAll()
- dodaje wszystkie elementy jednej listy do drugiejget()
- pomaga w losowym dostępie do elementów z listiterator()
- zwraca obiekt iteratora, który może być użyty do sekwencyjnego dostępu do elementów listset()
- zmienia elementy listremove()
- usuwa element z listyremoveAll()
- usuwa wszystkie elementy z listyclear()
- usuwa wszystkie elementy z listy (wydajniej niżremoveAll()
)size()
- zwraca długość listtoArray()
- konwertuje listę na tablicęcontains()
- zwraca,true
jeśli lista zawiera określony element
Implementacja interfejsu List
1. Implementacja klasy 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); ) )
Wynik
Lista: (1, 2, 3) Dostęp do elementu: 3 Usunięty element: 2
Aby dowiedzieć się więcej ArrayList
, odwiedź Java ArrayList.
2. Implementacja klasy 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); ) )
Wynik
Lista: (1, 2, 3) Dostęp do elementu: 3 Pozycja 3 to 1 Usunięty element: 2
Aby dowiedzieć się więcej LinkedList
, odwiedź Java LinkedList.
Lista Java a zestaw
Zarówno List
interfejs, jak i Set
interfejs dziedziczą Collection
interfejs. Jest jednak między nimi pewna różnica.
- Listy mogą zawierać zduplikowane elementy. Jednak zestawy nie mogą mieć zduplikowanych elementów.
- Elementy na listach są przechowywane w określonej kolejności. Jednak elementy w zestawach są przechowywane w grupach, podobnie jak zbiory w matematyce.
Teraz, gdy już wiemy, co to List
jest, szczegółowo omówimy jego implementacje w programach ArrayList
i LinkedList
klasach w następnych samouczkach.