Sobes.tech
Junior

Какво е ArrayList?

sobes.tech AI

Отговор от AI

ArrayList — това е динамичен масив в Java, реализиран на базата на обикновен масив.

Основни характеристики:

  • Динамичен размер: може да расте или намалява при добавяне или премахване на елементи.
  • Индексиран достъп: елементите са достъпни по техния индекс (започвайки от 0).
  • Подредба на елементите: запазва реда на добавяне.
  • Не е потокобезопасен: не е синхронизиран, за многопоточни сценарии се използва Vector или Collections.synchronizedList.
  • Производителност:
    • Добавяне/премахване в края O(1) средно (амортизирано време).
    • Добавяне/премахване в средата O(n) (изисква преместване на елементите).
    • Достъп по индекс O(1).
    • Търсене на елемент O(n).

Пример за използване:

import java.util.ArrayList;

// Създаване на ArrayList
ArrayList<String> имена = new ArrayList<>();

// Добавяне на елементи
имена.add("Alice");
imena.add("Bob");
imena.add("Charlie");

// Достъп до елемент по индекс
String първиЕлемент = имена.get(0); // "Alice"

// Размер на ArrayList
int размер = имена.size(); // 3

// Премахване на елемент
имена.remove("Bob"); // Премахва първото срещане на "Bob"
imena.remove(0); // Премахва елемента на индекс 0 (сега "Charlie")

// Обхождане на елементите
for (String име : имена) {
    System.out.println(име);
}