АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
196 of 1310 menu
Бесплатный тренинг по JavaScript: работа с Drag-and-Drop. Начало 2 октября. Жми для записи!

Интерфейс 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,
    который представляет базовый интерфейс для коллекций