logo

Lista Javy

Lista w Javie zapewnia możliwość utrzymywania zamówiona kolekcja . Zawiera oparte na indeksach metody wstawiania, aktualizowania, usuwania i wyszukiwania elementów. Może również zawierać zduplikowane elementy. Na liście możemy również przechowywać elementy zerowe.

Interfejs Listy znajduje się w plikuJava.utilpackage i dziedziczy interfejs Collection. Jest to fabryka interfejsu ListIterator. Za pomocą ListIterator możemy iterować listę w przód i w tył. Klasy implementacji interfejsu List toLista tablic,Połączona lista, stos i wektor. ArrayList i LinkedList są szeroko stosowane w programowaniu w języku Java. Klasa Vector jest przestarzała od wersji Java 5.

Deklaracja interfejsu listy

 public interface List extends Collection 

Metody list Java

metoda Opis
void add(int indeks, element E) Służy do wstawienia określonego elementu na określoną pozycję na liście.
wartość logiczna add(E e) Służy do dołączenia określonego elementu na końcu listy.
wartość logiczna addAll (kolekcja c) Służy do dołączenia wszystkich elementów określonej kolekcji na koniec listy.
wartość logiczna addAll(int indeks, kolekcja c) Służy do dołączania wszystkich elementów określonej kolekcji, zaczynając od określonej pozycji na liście.
puste jasne() Służy do usuwania wszystkich elementów z tej listy.
wartość logiczna równa się (obiekt o) Służy do porównania określonego obiektu z elementami listy.
int kod skrótu() Służy do zwracania wartości kodu skrótu dla listy.
E get(int indeks) Służy do pobrania elementu z określonej pozycji listy.
wartość logiczna jest pusta() Zwraca wartość true, jeśli lista jest pusta, w przeciwnym razie false.
int lastIndexOf(Obiekt o) Służy do zwrócenia indeksu na tej liście ostatniego wystąpienia określonego elementu lub -1, jeśli lista nie zawiera tego elementu.
Obiekt[] do tablicy() Służy do zwrócenia tablicy zawierającej wszystkie elementy tej listy we właściwej kolejności.
T[] toArray(T[] a) Służy do zwrócenia tablicy zawierającej wszystkie elementy tej listy we właściwej kolejności.
wartość logiczna zawiera (obiekt o) Zwraca wartość true, jeśli lista zawiera określony element
wartość logiczna zawiera wszystko (kolekcja c) Zwraca wartość true, jeśli lista zawiera cały określony element
int indeksOf(Obiekt o) Służy do zwrócenia indeksu na tej liście pierwszego wystąpienia określonego elementu lub -1, jeśli lista nie zawiera tego elementu.
E usuń(int indeks) Służy do usunięcia elementu znajdującego się na określonej pozycji na liście.
wartość logiczna usuń (obiekt o) Służy do usunięcia pierwszego wystąpienia określonego elementu.
wartość logiczna usuń wszystko (kolekcja c) Służy do usuwania wszystkich elementów z listy.
void zamień wszystko (operator UnaryOperator) Służy do zastąpienia wszystkich elementów z listy określonym elementem.
void zachowaj wszystko (kolekcja c) Służy do zachowania wszystkich elementów listy, które znajdują się w określonej kolekcji.
Zestaw E (indeks int, element E) Służy do zastąpienia określonego elementu na liście, znajdującego się na określonej pozycji.
sortowanie bez wartości (Komparator c) Służy do sortowania elementów listy na podstawie określonego komparatora.
Rozdzielacz Rozdzielacz() Służy do tworzenia rozdzielacza elementów na liście.
Lista podLista(int fromIndex, int toIndex) Służy do pobrania wszystkich elementów znajdujących się w podanym zakresie.
rozmiar całkowity() Służy do zwracania liczby elementów znajdujących się na liście.

Lista Java vs ArrayList

List jest interfejsem, natomiast ArrayList jest klasą implementacji List.

Jak utworzyć listę

Klasy ArrayList i LinkedList zapewniają implementację interfejsu List. Zobaczmy przykłady tworzenia listy:

 //Creating a List of type String using ArrayList List list=new ArrayList(); //Creating a List of type Integer using ArrayList List list=new ArrayList(); //Creating a List of type Book using ArrayList List list=new ArrayList(); //Creating a List of type String using LinkedList List list=new LinkedList(); 

Krótko mówiąc, możesz utworzyć listę dowolnego typu. Do określenia typu używane są klasy ArrayList i LinkedList. Tutaj T oznacza typ.

Przykład listy Java

Zobaczmy prosty przykład Listy, w którym jako implementację używamy klasy ArrayList.

 import java.util.*; public class ListExample1{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } } 
Przetestuj teraz

Wyjście:

 Mango Apple Banana Grapes 

Jak przekonwertować tablicę na listę

Możemy przekonwertować tablicę na listę, przechodząc przez tablicę i dodając elementy na liście jeden po drugim, używając metody list.add(). Zobaczmy prosty przykład konwersji elementów tablicy na listę.

 import java.util.*; public class ArrayToListExample{ public static void main(String args[]){ //Creating Array String[] array={'Java','Python','PHP','C++'}; System.out.println('Printing Array: '+Arrays.toString(array)); //Converting Array to List List list=new ArrayList(); for(String lang:array){ list.add(lang); } System.out.println('Printing List: '+list); } } 
Przetestuj teraz

Wyjście:

 Printing Array: [Java, Python, PHP, C++] Printing List: [Java, Python, PHP, C++] 

Jak przekonwertować listę na tablicę

Listę List na Array możemy przekonwertować wywołując metodę list.toArray(). Zobaczmy prosty przykład konwersji elementów listy na tablicę.

szakal kontra wilk
 import java.util.*; public class ListToArrayExample{ public static void main(String args[]){ List fruitList = new ArrayList(); fruitList.add('Mango'); fruitList.add('Banana'); fruitList.add('Apple'); fruitList.add('Strawberry'); //Converting ArrayList to Array String[] array = fruitList.toArray(new String[fruitList.size()]); System.out.println('Printing Array: '+Arrays.toString(array)); System.out.println('Printing List: '+fruitList); } } 
Przetestuj teraz

Wyjście:

 Printing Array: [Mango, Banana, Apple, Strawberry] Printing List: [Mango, Banana, Apple, Strawberry] 

Pobierz i ustaw element na liście

The metoda get(). zwraca element o podanym indeksie, natomiast metoda set(). zmienia lub zastępuje element.

 import java.util.*; public class ListExample2{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //accessing the element System.out.println('Returning element: '+list.get(1));//it will return the 2nd element, because index starts from 0 //changing the element list.set(1,'Dates'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } } 
Przetestuj teraz

Wyjście:

 Returning element: Apple Mango Dates Banana Grapes 

Jak sortować listę

Istnieją różne sposoby sortowania listy. Tutaj użyjemy metody Collections.sort() do posortowania elementu listy. The Java.util pakiet udostępnia klasę użyteczności Kolekcje który ma metodę statyczną sort(). Używając Kolekcje.sort() metodą, możemy łatwo posortować dowolną Listę.

 import java.util.*; class SortArrayList{ public static void main(String args[]){ //Creating a list of fruits List list1=new ArrayList(); list1.add('Mango'); list1.add('Apple'); list1.add('Banana'); list1.add('Grapes'); //Sorting the list Collections.sort(list1); //Traversing list through the for-each loop for(String fruit:list1) System.out.println(fruit); System.out.println('Sorting numbers...'); //Creating a list of numbers List list2=new ArrayList(); list2.add(21); list2.add(11); list2.add(51); list2.add(1); //Sorting the list Collections.sort(list2); //Traversing list through the for-each loop for(Integer number:list2) System.out.println(number); } } 

Wyjście:

klasa abstrakcyjna w Javie
 Apple Banana Grapes Mango Sorting numbers... 1 11 21 51 

Interfejs Java ListIterator

Interfejs ListIterator służy do poruszania się po elemencie w przód i w tył.

Deklaracja interfejsu ListIterator

 public interface ListIterator extends Iterator 

Metody interfejsu Java ListIterator:

metoda Opis
unieważnij dodanie (E e) Ta metoda wstawia określony element do listy.
wartość logiczna maNastępny() Ta metoda zwraca wartość true, jeśli iterator listy zawiera więcej elementów podczas przechodzenia po liście w kierunku do przodu.
E następny() Ta metoda zwraca następny element na liście i przesuwa pozycję kursora.
int następnyindeks() Ta metoda zwraca indeks elementu, który zostałby zwrócony przez kolejne wywołanie metody next()
wartość logiczna maPoprzedni() Ta metoda zwraca wartość true, jeśli iterator listy zawiera więcej elementów podczas przechodzenia po liście w odwrotnym kierunku.
E poprzedni() Ta metoda zwraca poprzedni element na liście i przesuwa pozycję kursora do tyłu.
E poprzedniIndeks() Ta metoda zwraca indeks elementu, który zostałby zwrócony przez kolejne wywołanie poprzedniej().
unieważnij usunięcie() Ta metoda usuwa ostatni element z listy zwrócony przez metody next() lub poprzednie().
zbiór pusty (E e) Ta metoda zastępuje ostatni element zwrócony przez metody next() lub poprzedni() określonym elementem.

Przykład interfejsu ListIterator

 import java.util.*; public class ListIteratorExample1{ public static void main(String args[]){ List al=new ArrayList(); al.add('Amit'); al.add('Vijay'); al.add('Kumar'); al.add(1,'Sachin'); ListIterator itr=al.listIterator(); System.out.println('Traversing elements in forward direction'); while(itr.hasNext()){ System.out.println('index:'+itr.nextIndex()+' value:'+itr.next()); } System.out.println('Traversing elements in backward direction'); while(itr.hasPrevious()){ System.out.println('index:'+itr.previousIndex()+' value:'+itr.previous()); } } } 

Wyjście:

 Traversing elements in forward direction index:0 value:Amit index:1 value:Sachin index:2 value:Vijay index:3 value:Kumar Traversing elements in backward direction index:3 value:Kumar index:2 value:Vijay index:1 value:Sachin index:0 value:Amit 

Przykład listy: Książka

Zobaczmy przykład Listy, w której dodajemy Książki.

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class ListExample5 { public static void main(String[] args) { //Creating list of Books List list=new ArrayList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications and Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to list list.add(b1); list.add(b2); list.add(b3); //Traversing list for(Book b:list){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 
Przetestuj teraz

Wyjście:

 101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications and Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6 

Powiązane tematy

Lista tablic w Javie

Połączona lista w Javie

Różnica między ArrayList i LinkedList

Różnica między Array i ArrayList

Kiedy używać ArrayList i LinkedList w Javie

Różnica między ArrayList i Vector

Jak porównać dwie listy tablic w Javie

PowerShell mniejszy lub równy

Jak odwrócić ArrayList w Javie

Kiedy używać ArrayList i LinkedList w Javie

Jak ustawić ArrayList tylko do odczytu

Różnica między długością tablicy i size() ArrayList w Javie

Jak zsynchronizować ArrayList w Javie

Jak przekonwertować ArrayList na Array i Array na ArrayList w Javie

Tablica vs ArrayList w Javie

Jak sortować listę tablic Java w kolejności malejącej

Jak usunąć duplikaty z ArrayList w Javie