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(ном);
}