Особенности:
// ArrayList - основан на массиве, быстрый доступ по индексу O(1)
val arrayList = ArrayList<String>()
arrayList.add("Android")
arrayList.add("Kotlin")
// LinkedList - основан на связанных узлах, быстрые вставки/удаления O(1)
val linkedList = LinkedList<String>()
linkedList.add("Android")
linkedList.addFirst("Kotlin") // Добавление в начало
Применение в Android:
Особенности:
// HashSet - хранение в хэш-таблице, O(1) для операций
val hashSet = HashSet<String>()
hashSet.add("Android")
hashSet.add("Kotlin")
// TreeSet - сортированное множество, O(log n) операций
val treeSet = TreeSet<String>()
treeSet.add("Android")
treeSet.add("Kotlin") // Автоматическая сортировка
// LinkedHashSet - сохраняет порядок вставки
val linkedHashSet = LinkedHashSet<String>()
linkedHashSet.add("Android")
linkedHashSet.add("Kotlin")
Применение в Android:
Особенности:
// HashMap - хэш-таблица, O(1) для операций
val hashMap = HashMap<String, Int>()
hashMap["Android"] = 1
hashMap["Kotlin"] = 2
// TreeMap - сортированная по ключам, O(log n)
val treeMap = TreeMap<String, Int>()
treeMap["Android"] = 1
treeMap["Kotlin"] = 2 // Автоматическая сортировка по ключам
// LinkedHashMap - сохраняет порядок вставки
val linkedHashMap = LinkedHashMap<String, Int>()
linkedHashMap["Android"] = 1
linkedHashMap["Kotlin"] = 2
Применение в Android:
Операция | ArrayList | LinkedList | HashSet | TreeSet | HashMap | TreeMap --- | --- | --- | --- | --- | --- | --- Добавление | O(1)* | O(1) | O(1) | O(log n) | O(1) | O(log n) Поиск | O(1) | O(n) | O(1) | O(log n) | O(1) | O(log n) Удаление | O(n) | O(1) | O(1) | O(log n) | O(1) | O(log n)
*O(n) при необходимости расширения массива
// Неизменяемые коллекции
val immutableList = listOf("Android", "Kotlin")
val immutableSet = setOf("Android", "Kotlin")
val immutableMap = mapOf("Android" to 1, "Kotlin" to 2)
// Изменяемые коллекции
val mutableList = mutableListOf("Android", "Kotlin")
val mutableSet = mutableSetOf("Android", "Kotlin")
val mutableMap = mutableMapOf("Android" to 1, "Kotlin" to 2)
Выбор структуры:
Потокобезопасность:
Производительность:
Память: