Java ArrayList

Оновлено: 22.05.2023

Java ArrayList

Клас ArrayList - це масив зі змінним розміром, який можна знайти в пакеті java.util.

Різниця між вбудованим масивом і ArrayList в Java полягає в тому, що розмір масиву не може бути змінений (якщо ви хочете додати або видалити елементи до/з масиву, вам доведеться створити новий масив). В той час як елементи можна додавати і видаляти з ArrayList, коли завгодно. Синтаксис також дещо відрізняється:

Створіть об'єкт ArrayList з назвою cars, який буде зберігати рядки:

ArrayList
import java.util.ArrayList; // import the ArrayList class

ArrayList<String> cars = new ArrayList<String>(); // Create an ArrayList object
Якщо ви не знаєте, що таке пакет, прочитайте наш підручник з пакетів Java.

Додати елементи

Клас ArrayList має багато корисних методів. Наприклад, для додавання елементів до ArrayList використовується метод add():

import java.util.ArrayList;

public class Main {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    System.out.println(cars);
  }
}

Доступ до елемента

Щоб отримати доступ до елементу в ArrayList, використовуйте метод get() і зверніться до його індексу:

cars.get(0);
Запам'ятайте: Індекси масивів починаються з 0: [0] - перший елемент. [1] - другий елемент і т.д.

Змінити елемент

Щоб змінити елемент, використовуйте метод set() і зверніться до його індексу:

cars.set(0, "Opel");

Видалити елемент

Щоб видалити елемент, використовуйте метод remove() і зверніться до його індексного номера:

cars.remove(0);

Щоб видалити всі елементи в ArrayList, використовуйте метод clear():

cars.clear();

ArrayList Size

Щоб дізнатися, скільки елементів має ArrayList, використовуйте метод size:

cars.size();

Цикл по списку масивів

Пройдіться по елементах списку ArrayList за допомогою циклу for і використовуйте метод size(), щоб вказати, скільки разів повинен виконуватися цикл:

public class Main {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    for (int i = 0; i < cars.size(); i++) {
      System.out.println(cars.get(i));
    }
  }
}

Ви також можете перебирати список ArrayList за допомогою циклу for-each:

public class Main {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    for (String i : cars) {
      System.out.println(i);
    }
  }
}

Інші типи

Елементи в списку ArrayList є фактично об'єктами. У наведених вище прикладах ми створювали елементи (об'єкти) типу String. Пам'ятайте, що String в Java - це об'єкт (а не примітивний тип). Для використання інших типів, наприклад, int, необхідно вказати еквівалентний клас-обгортку: Integer. Для інших примітивних типів використовуйте Boolean для boolean, Character для char, Double для double тощо:

Створити масив ArrayList для зберігання чисел (додати елементи типу Integer):

ArrayList
Integer
import java.util.ArrayList;

public class Main {
  public static void main(String[] args) {
    ArrayList<Integer> myNumbers = new ArrayList<Integer>();
    myNumbers.add(10);
    myNumbers.add(15);
    myNumbers.add(20);
    myNumbers.add(25);
    for (int i : myNumbers) {
      System.out.println(i);
    }
  }
}

Сортування списку ArrayList

Ще одним корисним класом у пакеті java.util є клас Collections, який містить метод sort() для сортування списків в алфавітному або числовому порядку:

Відсортувати список рядків ArrayList:

import java.util.ArrayList;
import java.util.Collections;  // Import the Collections class

public class Main {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    Collections.sort(cars);  // Sort cars
    for (String i : cars) {
      System.out.println(i);
    }
  }
}

Відсортувати список цілих чисел ArrayList:

import java.util.ArrayList;
import java.util.Collections;  // Import the Collections class

public class Main {
  public static void main(String[] args) {
    ArrayList<Integer> myNumbers = new ArrayList<Integer>();
    myNumbers.add(33);
    myNumbers.add(15);
    myNumbers.add(20);
    myNumbers.add(34);
    myNumbers.add(8);
    myNumbers.add(12);

    Collections.sort(myNumbers);  // Sort myNumbers

    for (int i : myNumbers) {
      System.out.println(i);
    }
  }
}