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");
номҳо.add("Bob");
номҳо.add("Charlie");

// Дастрасӣ ба элемент тавассути индекс
String аввалинЭлемент = номҳо.get(0); // "Alice"

// Андозаи ArrayList
int андоза = номҳо.size(); // 3

// Хориҷ кардани элемент
номҳо.remove("Bob"); // Хориҷ мекунад аввалин пайдоиши "Bob"
номҳо.remove(0); // Хориҷ мекунад элемент дар индекс 0 (ҳоло "Charlie")

// Гузаронидани элементҳо
for (String ном : номҳо) {
    System.out.println(ном);
}