Неизменяемые коллекции
Его основные компоненты:
- size: возвращает количество элементов в коллекции
- isEmpty(): возвращает true, если коллекция пустая
- contains(element): возвращает true, если коллекция содержит element
- containsAll(collection): возвращает true, если коллекция содержит элементы коллекции collection
Этот интерфейс расширяется другими интерфейсами, которые представляют неизменяемые коллекции - List, который представляет обычный список, и Set, который представляет неупорядоченную коллекцию элементов, не допускающую дублирования элементов.
Особняком стоит интерфейс Map. Он не расширяет Collection и представляет набор пар ключ-значение, где каждому ключу сопоставляет некоторое значение. Все ключи в коллекции являются уникальными.
Изменяемые коллекции
Все изменяемые коллекции реализуют интерфейс MutableIterable. Он представляет функцию итератора для перебора коллекции.
Для изменения данных в Kotlin также определен интерфейс kotlin.MutableCollection, который расширяет интерфейс kotlin.Collection и предоставляет методы для удаления и добавления элементов.
В частности:
- add(element): добавляет элемент
- remove(element): удаляет элемент
- addAll(elements): добавляет набор элементов
- removeAll(elements): удаляет набор элементов
- clear(): удаляет все элементы из коллекции
Этот интерфейс расширяется интерфейсами MutableList, который представляет изменяемый список, и MutableSet, который предствляет изменяемую неупорядоченную коллекцию уникальных элементов.
И еще одна изменяемая коллекция представлена интерфейсом MutableMap - изменяемая карта, где каждый элемент представляет пару ключ-значение.