Интерфейс MutableSequence
Интерфейс MutableSequence
представляет изменяемую последовательность элементов,
которая позволяет добавлять, удалять и изменять элементы. Наследуется от интерфейса
Sequence
и добавляет методы для модификации последовательности.
В первый параметр методов часто передается элемент для добавления или удаления,
во второй параметр может передаваться индекс или позиция для вставки элемента.
Импорт
import kotlin.sequences.MutableSequence
Синтаксис
interface MutableSequence<out E> : Sequence<E>
Основные методы
fun 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>
Пример
Создадим изменяемую последовательность и добавим в нее элементы:
val seq: MutableSequence<String> = mutableSequenceOf()
seq.add("a")
seq.add("b")
seq.add("c")
println(seq.toList())
Результат выполнения кода:
List<String> ['a', 'b', 'c']
Пример
Удалим элемент из изменяемой последовательности:
val seq = mutableSequenceOf("a", "b", "c", "d")
seq.remove("b")
println(seq.toList())
Результат выполнения кода:
List<String> ['a', 'c', 'd']
Пример
Добавим несколько элементов с помощью метода addAll
:
val seq = mutableSequenceOf("a", "b")
val toAdd = listOf("c", "d", "e")
seq.addAll(toAdd)
println(seq.toList())
Результат выполнения кода:
List<String> ['a', 'b', 'c', 'd', 'e']
Пример
Очистим последовательность с помощью метода clear
:
val seq = mutableSequenceOf("a", "b", "c", "d", "e")
seq.clear()
println(seq.toList())
Результат выполнения кода:
List<String> []
Пример
Используем итератор для удаления элементов:
val 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())
Результат выполнения кода:
List<Int> [1, 3, 5]
Смотрите также
-
интерфейс
Sequence
,
который представляет неизменяемую последовательность элементов -
интерфейс
List
,
который представляет неизменяемый список элементов -
интерфейс
MutableList
,
который представляет изменяемый список элементов -
интерфейс
Collection
,
который представляет базовый интерфейс для коллекций