ArrayList в Java

⚡ Розумний підсумок

ArrayList в Java — це динамічна структура даних зі змінним розміром, яка автоматично збільшується та зменшується в міру додавання або видалення елементів, на відміну від масивів фіксованої довжини. Вона надає вбудовані методи, такі як add, remove, size та contains, для гнучкої обробки елементів.

  • 📦 Визначення ArrayList: Динамічна структура даних змінної довжини, розмір якої автоматично змінюється в міру зміни елементів.
  • 🆚 проти масиву: На відміну від масиву фіксованої довжини, ArrayList може збільшуватися та зменшуватися під час виконання.
  • додати() та видалити(): Додати елементи в кінець або за заданим індексом, а видалити за об'єктом або індексом.
  • 📏 розмір() та містить(): size() повертає кількість елементів; contains() повертає true, якщо елемент існує.
  • 🔢 Індекс, що базується на нулі: Як і масиви, елементи ArrayList починаються з індексу 0.

ArrayList в Java

Що таке ArrayList Java?

ArrayList в Java це структура даних, яку можна розтягнути, щоб розмістити додаткові елементи всередині себе, і зменшити назад до меншого розміру, коли елементи видаляються. Це дуже важлива структура даних, корисна для обробки динамічної поведінки елементів.

Цікаво, як ArrayList Java може бути корисним, перегляньте розмову нижче –

Arraylist в Java

Для Java Приклад ArrayList, подивіться наступне зображення людини, яка розтягує еластичну гумку. Фактична довжина гумової стрічки набагато менша, але в розтягнутому стані вона може подовжуватися набагато більше, ніж її фактична довжина, і її можна використовувати для утримання/зв’язування нею набагато більших об’єктів. Тепер розглянемо наступний малюнок, на якому зображена проста мотузка, вона не може розтягнутися і матиме фіксовану довжину.

Arraylist In Java

Він може зростати, і коли це потрібно для розміщення елементів, які йому потрібно зберігати, і коли елементи видаляються, він може зменшуватися до меншого розміру. Оскільки у нашого друга є проблема з масивом, який він використовує, неможливо розширити або зменшити, ми будемо використовувати ArrayList. Масиви схожі на мотузку, показану на малюнку вище; вони матимуть фіксовану довжину, не можуть бути розширені або зменшені від початкової довжини. Таким чином, наша еластична гумова стрічка дуже схожа на Array List, тоді як мотузку можна вважати масивом. Технічно кажучи, ArrayList Java подібний до динамічного масиву або масиву змінної довжини.

Давайте подивимося та зрозуміємо наступний фрагмент коду Java Синтаксис ArrayList, який допоможе вам працювати з ArrayList.

ArrayList<Object> a = new ArrayList<Object>();

Методи ArrayList в Java

  • ArrayList додати: використовується для додавання елементів до списку масивів. Якщо ArrayList уже містить елементи, новий елемент додається після останнього елемента, якщо не вказано індекс.
    Синтаксис:
    add(Object o);
  • ArrayList видалити: Зазначений елемент видаляється зі списку, а розмір відповідно зменшується. Крім того, ви також можете вказати індекс елемента, який потрібно видалити.
    Синтаксис:
    remove(Object o);
  • Java розмір масиву: це дасть вам кількість елементів у списку масиву. Як і масиви, тут перший елемент починається з індексу 0.
    Синтаксис:
    int size();
  • ArrayList містить: Цей метод поверне значення true, якщо список містить вказаний елемент.
    Синтаксис:
    boolean contains(Object o);

Java Приклад ArrayList

Далі йде a Java Приклад ArrayList:

import java.util.ArrayList;
class Test_ArrayList {
 public static void main(String[] args) {
  //Creating a generic ArrayList
  ArrayList<String> arlTest = new ArrayList<String>();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");

  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());

  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);

  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);

  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);

  //Check size after removing elements
  System.out.println("Size of arrayList after removing elements: " + arlTest.size());
  System.out.println("List of all elements after removing elements: " + arlTest);

  //Check if the list contains "K"
  System.out.println(arlTest.contains("K"));

 }
}

вихід:

Size of ArrayList at creation: 0
Size of ArrayList after adding elements: 4
List of all elements: [D, U, K, E]
See contents after removing one element: [U, K, E]
See contents after removing element by index: [U, K]
Size of arrayList after removing elements: 2
List of all elements after removing elements: [U, K]
true

Примітка. Для простоти елементи, показані в коді вище, є односимвольними. Ми можемо додавати рядки, цілі числа тощо.

використання Java Arraylist

Поширені запитання

Масив має фіксовану довжину, встановлену під час створення, тоді як ArrayList є динамічним і його розмір змінюється автоматично. Масиви можуть містити примітиви та об'єкти; ArrayList містить лише об'єкти та пропонує вбудовані методи.

ArrayList використовує динамічний масив, що забезпечує швидкий випадковий доступ, але повільніші вставки та видалення посередині. LinkedList використовує вузли, що забезпечує швидшу вставку та видалення, але повільніший доступ на основі індексів.

Ні. ArrayList не синхронізовано та не є потокобезпечним. Для одночасного доступу використовуйте Collections.synchronizedList() або CopyOnWriteArrayList, щоб уникнути неузгодженості даних у багатопотокових програмах.

Асистенти штучного інтелекту можуть генерувати код ArrayList, пропонувати правильні методи, пояснювати дженерики та виявляти проблеми, такі як IndexOutOfBoundsException. Вони допомагають початківцям правильно та ефективно маніпулювати списками.

Так. Штучний інтелект може рекомендувати, чи використовувати ArrayList, LinkedList, HashSet або HashMap, залежно від шаблону доступу, впорядкування та потреб у продуктивності, описаних для вашої програми.

Підсумуйте цей пост за допомогою: