НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
175 of 1310 menu

Интерфейс MutableListIterator

Интерфейс MutableListIterator расширяет ListIterator и добавляет методы для изменения элементов списка во время итерации. Позволяет добавлять, заменять и удалять элементы в процессе обхода коллекции.

Импорт

import kotlin.collections.MutableListIterator

Синтаксис

interface MutableListIterator<T> : ListIterator<T>, MutableIterator<T> { fun add(element: T) fun set(element: T) }

Методы

Основные методы интерфейса:

fun add(element: T) // Добавляет элемент перед текущей позицией fun set(element: T) // Заменяет последний возвращенный элемент fun remove() // Удаляет последний возвращенный элемент fun hasNext(): Boolean // Проверяет наличие следующего элемента fun next(): T // Возвращает следующий элемент fun hasPrevious(): Boolean // Проверяет наличие предыдущего элемента fun previous(): T // Возвращает предыдущий элемент fun nextIndex(): Int // Возвращает индекс следующего элемента fun previousIndex(): Int // Возвращает индекс предыдущего элемента

Пример

Создадим изменяемый список и получим его итератор:

val list = mutableListOf('a', 'b', 'c', 'd') val iterator = list.listIterator()

Пример

Добавим новый элемент в середину списка с помощью метода add:

val list = mutableListOf('a', 'b', 'c', 'd') val iterator = list.listIterator() iterator.next() // Переходим к 'a' iterator.next() // Переходим к 'b' iterator.add('x') // Добавляем 'x' перед 'b' println(list)

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

['a', 'x', 'b', 'c', 'd']

Пример

Заменим элемент с помощью метода set:

val list = mutableListOf('a', 'b', 'c', 'd') val iterator = list.listIterator() iterator.next() // Переходим к 'a' iterator.next() // Переходим к 'b' iterator.set('z') // Заменяем 'b' на 'z' println(list)

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

['a', 'z', 'c', 'd']

Пример

Удалим элемент с помощью метода remove:

val list = mutableListOf('a', 'b', 'c', 'd') val iterator = list.listIterator() iterator.next() // Переходим к 'a' iterator.next() // Переходим к 'b' iterator.remove() // Удаляем 'b' println(list)

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

['a', 'c', 'd']

Пример

Итерация в обратном направлении с модификацией:

val list = mutableListOf(1, 2, 3, 4, 5) val iterator = list.listIterator(list.size) // Старт с конца while (iterator.hasPrevious()) { val element = iterator.previous() if (element % 2 == 0) { iterator.set(element * 10) // Умножаем четные на 10 } } println(list)

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

[1, 20, 3, 40, 5]

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

  • интерфейс ListIterator,
    который предоставляет базовую функциональность итерации
  • интерфейс MutableIterator,
    который предоставляет методы для удаления элементов
  • класс ArrayList,
    который реализует изменяемый список
  • интерфейс MutableList,
    который представляет изменяемую коллекцию элементов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить