List представляет последовательный список элементов. При этом List представляет неизменяемую коллекцию, которая в основном только обеспечивает получение элементов по позиции.
Для создания объекта List применяется метод listOf():
Для получения элемента по индексу можно применять метод get(index), который возвращает элемент по индексу
Вместо метода get для обращения по индексу можно использовать квадратные скобки [ ]
Однако, если индекс выходит за границы списка, то при использовании метода get() и квадратных скобок генерируется исключение.
Чтобы избежать подобной ситуации, можно применять метод getOrNull(), который возвращает null, если индекс находится вне границ списка:
Метод subList() возвращает часть списка и в качестве параметров принимает начальный и конечный индексы извлекаемых элементов:
Например, получим подсписок с 1 по 3 индексы:
Изменяемые списки представлены интерфейсом MutableList. Он расширяет интерфейс List и позволяют добавлять и удалять элементы. Данный интерфейс реализуется классом ArrayList.
Для создания изменяемых списков можно использовать ряд методов:
- arrayListOf(): создает объект ArrayList
- mutableListOf(): создает объект MutableList
Создание изменяемых списков:
Если необходимо добавлять или удалять элементы, то надо использовать методы MutableList:
- add(index, element): добавлят элемент по индексу
- add(element): добавляет элемент
- addAll(collection): добавляет коллекцию элементов
- remove(element): удаляет элемент
- removeAt(index): удаляет элемент по индексу
- clear(): удаляет все элементы коллекции
Например:
Тут мы добавили элемент 4 и удалили элемент 1