Java ArrayList (z przykładami)

W tym samouczku dowiemy się o klasie ArrayList w Javie. Dowiemy się o różnych operacjach i metodach arraylisty na przykładach.

ArrayListKlasa zbiorów ramach Java zapewnia funkcjonalność resizable-tablic .

Implementuje Listinterfejs.

Implementacja Java ArrayList

Java ArrayList Vs Array

W Javie musimy zadeklarować rozmiar tablicy, zanim będziemy mogli jej użyć. Po zadeklarowaniu rozmiaru tablicy trudno go zmienić.

Aby rozwiązać ten problem, możemy użyć ArrayListklasy. Pozwala nam tworzyć tablice o zmiennym rozmiarze.

W przeciwieństwie do tablic, arraylists mogą automatycznie dostosowywać swoją pojemność, gdy dodajemy lub usuwamy z niej elementy. Dlatego tablice są również znane jako tablice dynamiczne .

Tworzenie ArrayList

Przed użyciem ArrayListmusimy java.util.ArrayListnajpierw zaimportować pakiet. Oto jak możemy tworzyć arraylisty w Javie:

 ArrayList arrayList= new ArrayList();

W tym przypadku Type wskazuje typ arraylisty. Na przykład,

 // create Integer type arraylist ArrayList arrayList = new ArrayList(); // create String type arraylist ArrayList arrayList = new ArrayList();

W powyższym programie nie użyliśmy Integerint. Dzieje się tak, ponieważ nie możemy używać typów pierwotnych podczas tworzenia arraylisty. Zamiast tego musimy użyć odpowiednich klas opakowania.

Tutaj Integerjest odpowiednia klasa opakowania int. Aby dowiedzieć się więcej, odwiedź klasę opakowującą Java.

Przykład: Utwórz ArrayList w Javie

 import java.util.ArrayList; class Main ( public static void main(String() args)( // create ArrayList ArrayList languages = new ArrayList(); // Add elements to ArrayList languages.add("Java"); languages.add("Python"); languages.add("Swift"); System.out.println("ArrayList: " + languages); ) )

Wynik

 ArrayList: (Java, Python, Swift)

W powyższym przykładzie utworzyliśmy ArrayListnazwane języki.

Tutaj użyliśmy tej add()metody, aby dodać elementy do arraylisty. Dowiemy się więcej o tej add()metodzie w dalszej części tego samouczka.

Uwaga : możemy również utworzyć listę arraylistyczną za pomocą Listinterfejsu. Dzieje się tak, ponieważ ArrayListklasa implementuje Listinterfejs.

 List list = new ArrayList();

Podstawowe operacje na ArrayList

ArrayListKlasa udostępnia różne metody do wykonywania różnych operacji na arraylists. W tym samouczku przyjrzymy się niektórym powszechnie używanym operacjom arraylist:

  • Dodaj elementy
  • Dostęp do elementów
  • Zmień elementy
  • Usuń elementy

1. Dodaj elementy do ArrayList

Aby dodać pojedynczy element do arraylisty, używamy add()metody ArrayListklasy. Na przykład,

 import java.util.ArrayList; class Main ( public static void main(String() args)( // create ArrayList ArrayList languages = new ArrayList(); // add() method without the index parameter languages.add("Java"); languages.add("C"); languages.add("Python"); System.out.println("ArrayList: " + languages); // add() method with the index parameter languages.add(1, "JavaScript"); System.out.println("Updated ArrayList: " + languages); ) )

Wynik

 ArrayList: (Java, C, Python) Zaktualizowano ArrayList: (Java, JavaScript, C, Python)

W powyższym przykładzie utworzyliśmy ArrayListnazwane języki. Tutaj użyliśmy tej add()metody, aby dodać elementy do języków.

Zwróć uwagę na oświadczenie,

 languages.add(1, "JavaScript");

Tutaj użyliśmy parametru numeru indeksu . Jest to opcjonalny parametr określający pozycję, w której zostanie dodany nowy element.

Aby dowiedzieć się więcej, odwiedź witrynę Java ArrayList add ().

Możemy również dodawać elementy kolekcji do tablicy arraylistycznej za pomocą metody Java ArrayList addAll ().

2. Dostęp do elementów ArrayList

Aby uzyskać dostęp do elementu z listy arraylist, używamy get()metody ArrayListklasy. Na przykład,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList animals = new ArrayList(); // add elements in the arraylist animals.add("Cat"); animals.add("Dog"); animals.add("Cow"); System.out.println("ArrayList: " + animals); // get the element from the arraylist String str = animals.get(1); System.out.print("Element at index 1: " + str); ) )

Wynik

 ArrayList: (Cat, Dog, Cow) Element w indeksie 1: Dog

W powyższym przykładzie użyliśmy get()metody z parametrem 1. Tutaj metoda zwraca element o indeksie 1 .

Aby dowiedzieć się więcej, odwiedź Java ArrayList get ().

Możemy również uzyskać dostęp do elementów metody ArrayListusing iterator(). Aby dowiedzieć się więcej, odwiedź stronę iterator Java ArrayList ().

3. Zmień elementy ArrayList

Aby zmienić element arraylisty, używamy set()metody ArrayListklasy. Na przykład,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList languages = new ArrayList(); // add elements in the array list languages.add("Java"); languages.add("Kotlin"); languages.add("C++"); System.out.println("ArrayList: " + languages); // change the element of the array list languages.set(2, "JavaScript"); System.out.println("Modified ArrayList: " + languages); ) )

Wynik

 ArrayList: (Java, Kotlin, C ++) Modified ArrayList: (Java, Kotlin, JavaScript)

W powyższym przykładzie utworzyliśmy ArrayListnazwane języki. Zwróć uwagę na linię,

 language.set(2, "JavaScript");

Tutaj set()metoda zmienia element o indeksie 2 na JavaScript.

To learn more, visit the Java ArrayList set().

4. Remove ArrayList Elements

To remove an element from the arraylist, we can use the remove() method of the ArrayList class. For example,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList animals = new ArrayList(); // add elements in the array list animals.add("Dog"); animals.add("Cat"); animals.add("Horse"); System.out.println("ArrayList: " + animals); // aemove element from index 2 String str = animals.remove(2); System.out.println("Updated ArrayList: " + animals); System.out.println("Removed Element: " + str); ) )

Output

 ArrayList: (Dog, Cat, Horse) Updated ArrayList: (Dog, Cat) Removed Element: Horse

Here, the remove() method takes the index number as the parameter. And, removes the element specified by the index number.

To learn more, visit the Java ArrayList remove().

We can also remove all the elements from the arraylist at once. To learn more, visit

  • Java ArrayList removeAll()
  • Java ArrayList clear()

Methods of ArrayList Class

In previous section, we have learned about the add(), get(), set(), and remove() method of the ArrayList class.

Besides those basic methods, here are some more ArrayList methods that are commonly used.

Methods Descriptions
size() Returns the length of the arraylist.
sort() Sort the arraylist elements.
clone() Creates a new arraylist with the same element, size, and capacity.
contains() Searches the arraylist for the specified element and returns a boolean result.
ensureCapacity() Specifies the total element the arraylist can contain.
isEmpty() Checks if the arraylist is empty.
indexOf() Searches a specified element in an arraylist and returns the index of the element.

If you want to learn about all the different methods of arraylist, visit Java ArrayList methods.

Iterate through an ArrayList

We can use the Java for-each loop to loop through each element of the arraylist. For example,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( // creating an array list ArrayList animals = new ArrayList(); animals.add("Cow"); animals.add("Cat"); animals.add("Dog"); System.out.println("ArrayList: " + animals); // iterate using for-each loop System.out.println("Accessing individual elements: "); for (String language : animals) ( System.out.print(language); System.out.print(", "); ) ) )

Output

 ArrayList: (Cow, Cat, Dog) Accessing individual elements: Cow, Cat, Dog,

ArrayList To Array Conversion

We can convert the ArrayList into an array using the toArray() method. For example,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList languages = new ArrayList(); // add elements in the array list languages.add("Java"); languages.add("Python"); languages.add("C++"); System.out.println("ArrayList: " + languages); // create a new array of String type String() arr = new String(languages.size()); // convert ArrayList into an array languages.toArray(arr); System.out.print("Array: "); // access elements of the array for (String item : arr) ( System.out.print(item + ", "); ) ) )

Output

 ArrayList: (Java, Python, C++) Array: Java, Python, C++, 

In the above example, we have created an arraylist named languages. Notice the statement,

 languages.toArray(arr);

Here, the toArray() method converts the arraylist into an array and stores it in arr. To learn more, visit Java ArrayList toArray().

Java Array to ArrayList Conversion

We can also convert the array into an arraylist. For that, we use the asList() method of the Arrays class.

To use asList(), we must import the java.util.Arrays package first. For example,

 import java.util.ArrayList; import java.util.Arrays; class Main ( public static void main(String() args) ( // create an array of String type String() arr = ( "Java", "Python", "C++" ); System.out.print("Array: "); // print array for (String str : arr) ( System.out.print(str); System.out.print(" "); ) // create an ArrayList from an array ArrayList languages = new ArrayList(Arrays.asList(arr)); System.out.println("ArrayList: " + languages); ) )

Output

 Array: Java Python C++ ArrayList: (Java, Python, C++)

In the above program, we first created an array arr of the String type. Notice the expression,

 Arrays.asList(arr)

Tutaj asList()metoda konwertuje tablicę na arraylistę.

Uwaga : możemy również użyć tej Arrays.asList()metody, aby utworzyć i zainicjować arraylistę w jednej linii. Na przykład,

  // create and initialize arraylist ArrayList animals = new ArrayList(Arrays.asList("Cat", "Cow", "Dog"));

ArrayList na konwersję ciągów

Możemy użyć toString()metody ArrayListklasy, aby przekonwertować tablicę na ciąg znaków. Na przykład,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList languages = new ArrayList(); // add elements in the ArrayList languages.add("Java"); languages.add("Python"); languages.add("Kotlin"); System.out.println("ArrayList: " + languages); // convert ArrayList into a String String str = languages.toString(); System.out.println("String: " + str); ) )

Wynik

 ArrayList: (Java, Python, Kotlin) String: (Java, Python, Kotlin)

W tym przypadku toString()metoda konwertuje całą listę arraylistów na pojedynczy ciąg. Aby dowiedzieć się więcej, odwiedź stronę Java ArrayList toString ().

Interesujące artykuły...