Интерфейс MutableCollection
Интерфейс MutableCollection представляет собой изменяемую коллекцию элементов.
Он наследуется от интерфейса Collection и добавляет методы для модификации коллекции:
добавления, удаления и очистки элементов. В первый параметр методов добавления и удаления
передается элемент для операции, а методы возвращают Boolean - результат операции.
Импорт
import kotlin.collections.MutableCollection
Синтаксис
interface MutableCollection<E> : Collection<E>, MutableIterable<E>
Основные методы
fun add(element: E): Boolean
fun addAll(elements: Collection<E>): Boolean
fun remove(element: E): Boolean
fun removeAll(elements: Collection<E>): Boolean
fun retainAll(elements: Collection<E>): Boolean
fun clear(): Unit
Пример
Создадим изменяемую коллекцию и добавим в нее элементы:
val mutableCollection: MutableCollection<String> = mutableListOf()
val res1: Boolean = mutableCollection.add("a")
val res2: Boolean = mutableCollection.addAll(listOf("b", "c", "d"))
println(mutableCollection)
println("First add result: $res1")
println("Second add result: $res2")
Результат выполнения кода:
MutableCollection<String> ['a', 'b', 'c', 'd']
Boolean true
Boolean true
Пример
Удалим элементы из изменяемой коллекции:
val mutableCollection: MutableCollection<Int> = mutableListOf(1, 2, 3, 4, 5)
val res1: Boolean = mutableCollection.remove(3)
val res2: Boolean = mutableCollection.removeAll(listOf(1, 5))
println(mutableCollection)
println("First remove result: $res1")
println("Second remove result: $res2")
Результат выполнения кода:
MutableCollection<Int> [2, 4]
Boolean true
Boolean true
Пример
Используем метод retainAll для сохранения только определенных элементов:
val mutableCollection: MutableCollection<Char> = mutableListOf('a', 'b', 'c', 'd', 'e')
val res: Boolean = mutableCollection.retainAll(listOf('c', 'd', 'f'))
println(mutableCollection)
println("Retain result: $res")
Результат выполнения кода:
MutableCollection<Char> ['c', 'd']
Boolean true
Пример
Очистим изменяемую коллекцию с помощью метода clear:
val mutableCollection: MutableCollection<String> = mutableListOf("a", "b", "c")
println("Before clear: $mutableCollection")
mutableCollection.clear()
println("After clear: $mutableCollection")
Результат выполнения кода:
MutableCollection<String> ['a', 'b', 'c']
MutableCollection<String> []
Смотрите также
-
интерфейс
Collection,
который представляет базовую неизменяемую коллекцию -
интерфейс
MutableList,
который представляет изменяемый список с доступом по индексу -
интерфейс
MutableSet,
который представляет изменяемое множество уникальных элементов -
класс
ArrayList,
который является реализацией изменяемого списка на основе массива