Интерфейс MutableSequence

Интерфейс MutableSequence представляет изменяемую последовательность элементов, которая позволяет добавлять, удалять и изменять элементы. Наследуется от интерфейса Sequence и добавляет методы для модификации последовательности. В первый параметр методов часто передается элемент для добавления или удаления, во второй параметр может передаваться индекс или позиция для вставки элемента.

Импорт

kotlinimport kotlin.sequences.MutableSequence

Синтаксис

kotlininterface MutableSequence<out E> : Sequence<E>

Основные методы

kotlinfun add(element: E): Boolean
fun remove(element: E): Boolean
fun addAll(elements: Collection<E>): Boolean
fun removeAll(elements: Collection<E>): Boolean
fun retainAll(elements: Collection<E>): Boolean
fun clear(): Unit
fun iterator(): MutableIterator<E>

Пример

Создадим изменяемую последовательность и добавим в нее элементы:

kotlinval seq: MutableSequence<String> = mutableSequenceOf()
seq.add("a")
seq.add("b")
seq.add("c")
println(seq.toList())

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

kotlinList<String> ['a', 'b', 'c']

Пример

Удалим элемент из изменяемой последовательности:

kotlinval seq = mutableSequenceOf("a", "b", "c", "d")
seq.remove("b")
println(seq.toList())

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

kotlinList<String> ['a', 'c', 'd']

Пример

Добавим несколько элементов с помощью метода addAll:

kotlinval seq = mutableSequenceOf("a", "b")
val toAdd = listOf("c", "d", "e")
seq.addAll(toAdd)
println(seq.toList())

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

kotlinList<String> ['a', 'b', 'c', 'd', 'e']

Пример

Очистим последовательность с помощью метода clear:

kotlinval seq = mutableSequenceOf("a", "b", "c", "d", "e")
seq.clear()
println(seq.toList())

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

kotlinList<String> []

Пример

Используем итератор для удаления элементов:

kotlinval seq = mutableSequenceOf(1, 2, 3, 4, 5)
val iterator = seq.iterator()

while (iterator.hasNext()) {
  val element = iterator.next()
  if (element % 2 == 0) {
    iterator.remove()
  }
}
println(seq.toList())

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

kotlinList<Int> [1, 3, 5]

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

  • интерфейс Sequence,
    который представляет неизменяемую последовательность элементов
  • интерфейс List,
    который представляет неизменяемый список элементов
  • интерфейс MutableList,
    который представляет изменяемый список элементов
  • интерфейс Collection,
    который представляет базовый интерфейс для коллекций