Класс LinkedList

Класс LinkedList является реализацией интерфейса MutableList и представляет собой двусвязный список, где каждый элемент содержит ссылку на предыдущий и следующий элемент. Это позволяет эффективно добавлять и удалять элементы как в начале, так и в конце списка. В первый параметр конструктора можно передать коллекцию элементов для инициализации списка.

Импорт

kotlinimport java.util.LinkedList

Синтаксис

kotlinLinkedList()
kotlinLinkedList(elements: Collection<E>)

Пример

Создадим пустой LinkedList и добавим в него элементы:

kotlinval list = LinkedList<String>()
list.add("a")
list.add("b")
list.add("c")
println(list)

Результат выполнения кода:

kotlinLinkedList ['a', 'b', 'c']

Пример

Создадим LinkedList из существующей коллекции:

kotlinval initialList = listOf(1, 2, 3, 4, 5)
val linkedList = LinkedList(initialList)
println(linkedList)

Результат выполнения кода:

kotlinLinkedList [1, 2, 3, 4, 5]

Пример

Добавим элементы в начало и конец списка:

kotlinval list = LinkedList<String>()
list.addFirst("first")
list.addLast("last")
list.add(1, "middle")
println(list)

Результат выполнения кода:

kotlinLinkedList ['first', 'middle', 'last']

Пример

Удалим элементы из начала и конца списка:

kotlinval list = LinkedList(listOf("a", "b", "c", "d", "e"))
val first = list.removeFirst()
val last = list.removeLast()
println("Removed: $first, $last")
println("Remaining: $list")

Результат выполнения кода:

kotlinRemoved: a, e
Remaining: [b, c, d]

Пример

Получим первый и последний элемент без удаления:

kotlinval list = LinkedList(listOf(10, 20, 30, 40, 50))
val first = list.first
val last = list.last
println("First: $first, Last: $last")
println("List unchanged: $list")

Результат выполнения кода:

kotlinFirst: 10, Last: 50
List unchanged: [10, 20, 30, 40, 50]

Смотрите также

  • интерфейс List,
    который представляет неизменяемый список элементов
  • интерфейс MutableList,
    который представляет изменяемый список элементов
  • класс ArrayList,
    который представляет список на основе массива
  • класс ArrayDeque,
    который представляет двустороннюю очередь на основе массива