Закрыть
×
=0) { let js = text.slice(pos1, pos2); + '<\/' + "script" + '>'; arrText.push(js); // next pos1 = pos2; continue; } } } break; } return arrText; } function OpenDialog(parentDiv, urlContent) { parentDiv = document.getElementById('modal-background'); // new !!!!!!! parentDiv.appendChild(document.getElementById('modal-template')); document.getElementById('modal-background').style.display = "flex"; // !!!!! block document.getElementById('modal-template').style.display = "flex"; // !!!!! document.getElementById('modal-body').innerHTML = ""; post_url(urlContent, "", function(text_from_server) { var element = document.getElementById('modal-body'); element.innerHTML = text_from_server; // add scripts var arrJSText = get_scripts(text_from_server); for (var i=0; i
dir.by
Праздники ...
Праздники ...
День города Минска (2-ая суббота сентября) (9 и 10 сентября 2023)
Концерты, выставки ...
Концерты, выставки ...
Концерт певица МакSим|||г. Минск 13 декабря 2026
Афишу
Спорт занятия ...
Спорт занятия ...
Занятия по аэробике
Спорт занятие
Компьютер, программы...
Компьютер, программы...
Объявления ...
Объявления ...
Стапельный ремонт авто в Минске
Объявление
Новости ...
Новости ...
Форум ...
Форум ...
обсуждение...
Поиск
Концерты
Спорт
Форум
Компьютер
Компьютер, программы
→
Kotlin
Списки в Kotlin. interface List , interface MutableList , class ArrayList
посмотрели
1359
раз
обновлено: 15 августа 2026
interface List
interface List
это список с функциями чтобы только посмотреть элементы и нельзя добавлять, удалять элементы
Kotlin
Пример
class
Car
(
val
name:
String
,
val
price:Int)
{
}
...
// Создаем
List
val
allCars:
List
<Car> =
listOf
(
Car(
"Audi A6"
, 50000),
Car(
"Toyota Camry"
, 25000),
Car(
"Honda Accord"
, 40000)
)
// Находим машины, цена которых > 20000
val
foundItems = allCars.
filter
{ elem ->
elem.price>20000
}
// Проходим по всем элементам
foundItems.
forEach
{ elem ->
// показываем
car name
и
car price
на экране
println(
"${elem.name} ${elem.price}"
)
}
interface MutableList
В
MutableList
можно изменять список т.е. добавлять элементы, удалять элементы польльзуясь функциями
add
,
remove
На заметку!
List
имеет фиксированный размер, поэтому в них нельзя добавлять или удалять элементы.
это список с функциями чтобы посмотреть элементы и можно добавлять, удалять элементы
Kotlin
Пример
class
Car
(
val
name:
String
,
val
price:Int)
{
}
...
// Создаем
MutableList
val
allCars:
MutableList
<Car> =
mutableListOf
(
Car(
"Audi A6"
, 50000),
Car(
"Toyota Camry"
, 25000),
Car(
"Honda Accord"
, 40000)
)
allCars.
add
( Car(
"Kia Sorento"
, 32000) )
allCars.
add
( Car(
"Hyundai Tucson"
, 34000) )
allCars.
removeIf
{elem ->
elem.name==
"Honda Accord"
}
// Находим машины, цена которых > 20000
val
foundItems = allCars.
filter
{ elem ->
elem.price>20000
}
// Проходим по всем элементам
foundItems.
forEach
{ elem ->
// показываем
car name
и
car price
на экране
println(
"${elem.name} ${elem.price}"
)
}
class ArrayList
class ArrayList
это имплементация для
interface MutableList
.
На заметку!
Все функции в
ArrayList
и
MutableList
такие же.
Создание
ArrayList
немного отличается от
MutableList
:
Kotlin
Способ 1
val
allCars:
ArrayList
<Car> =
arrayListOf
(
Car(
"Audi A6"
, 50000),
Car(
"Toyota Camry"
, 25000),
Car(
"Honda Accord"
, 40000)
)
Kotlin
Способ 2
val
allCars:
ArrayList
<Car> =
ArrayLis
t<Car>(
listOf(
Car(
"Audi A6"
, 50000),
Car(
"Toyota Camry"
, 25000),
Car(
"Honda Accord"
, 40000)
)
)
После создания
ArrayList
вызываем функции
MutableList
.
interface
MutableList
Это список с функциями добавления, удаления, поиска, сортировки элементов.
создаем
mutableListOf
(7, 35, 14)
функция создает список и внутри 3 элемента
На заметку!
Любое количество элементов можно писать при создании
Kotlin
Пример 1
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14)
// myList1 = 7, 35, 14
Kotlin
Пример 2
val
myList1:
MutableList
<
Int
> =
mutableListOf
(10, 20, 30, 40, 50, 60)
// myList1 = 10, 20, 30, 40, 50, 60
mutableListOf
()
функция создает пустой список
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
()
// myList1 = 0 элементов
количество элементов
size
Поле содержит количество элементов
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14)
val
n:
Int
= myList1.size
// n =
3
isEmpty()
Функция возвращает
true
если список пустой
Kotlin
Пример 1
val
myList1:
MutableList
<
Int
> =
mutableListOf
()
val
myListEmpty:
Boolean
= myList1.isEmpty()
// myListEmpty = true
Kotlin
Пример 2
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14)
val
myListEmpty:
Boolean
= myList1.isEmpty()
// myListEmpty = false
Преобразование коллекции в
map
{элемент -> Объект нового типа}
Преобразуем коллекцию в элементы другого типа
Kotlin
Пример
class
Car
(
val
name:
String
,
val
price:Int)
{
}
class
Book
(
val
author:
String
)
{
}
...
val
allCars:
MutableList
<Car> =
mutableListOf
(
Car(
"Audi A6"
, 50000),
Car(
"Toyota Camry"
, 25000),
Car(
"Honda Accord"
, 40000)
)
// Преобразуем коллекцию из элементов
Car
в элементы
Book
val
convertedItems:
List
<
Book
> = allCars.
map
{elem ->
Book
(elem.name) }
Функции:
toList
()
toSet
()
toMutableList
()
toSortedSet
()
toTypedArray
()
посмотреть элементы, поиск элементов
get
(index)
Выбираем элемент по позиции
index
это позиция, начинающаяся с 0
Можно так:
[
index
]
Kotlin
Пример 1
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14, 9)
val
element = myList1.
get
(2)
// element = 14
Kotlin
Пример 2
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14, 9)
val
element = myList1
[
2
]
// element = 14
find
{элемент -> Условия}
Поиск одного элемента по условиям
Функция возвращает элемент
Если не найдено вернет
null
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14, 9)
val
foundValue = myList1.
find
{ value -> value==14 || value==7 }
// foundValue = 7
val
foundValue = myList1.
find
{ value -> value==97 }
// foundValue = null
filter
{элемент -> Условия}
Выбираем элементы по условию.
Новый список будет создан.
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14, 9)
// Выбираем элементы, где значения больше 10
val
myList2 = myList1.
filter
{ value -> value>10 }
// myList2 = 35, 14 это новый список
// myList1 = 7, 35, 14, 9 старый список не поменялся
subList
(indexStart, indexEnd)
Выбираем элементы с начальной по конечную позиции.
Новый список будет создан.
На заметку!
В конечной позиции не берется элемент.
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14, 9, 82)
// Выбираем элементы, с 1 по 3 позиции
val
myList2 = myList1.
subList
(1, 3)
// myList2 = 35, 14 это новый список
// myList1 = 7, 35, 14, 9, 82 старый список не поменялся
forEach
{элемент -> действие}
Проходим по всем элементам.
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14, 9)
myList1.
forEach
{ value ->
// выводим значение на экран
println(value)
}
Другие функции:
single
()
elementAtOrElse
()
elementAtOrNull
()
first
()
firstOrElse
()
firstOrNull
()
take
()
заменить элемент
set
(index, элемент)
заменить элемент в позиции на указанный элемент
index
это позиция
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14, 9)
// по позиции 2 поставим число 130
myList1.
set
(2, 26)
// myList1 = 7, 35,
130
, 9
// index=0 index=1
index=2
index=3
Другие функции:
fill
()
добавление элементов
add
(элемент)
добавление одного элемента в конец
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35)
myList1.
add
(10)
// myList1 = 7, 35, 10
addAll
(array)
добавление массива элементов в конец
addAll
(collection)
добавление коллекции элементов в конец
Kotlin
Пример 1
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35)
val
values:
Array
<Int> =
arrayOf
(210, 160, 14)
myList1.
addAll
(values)
// myList1 = 7, 35, 210, 160, 14
Kotlin
Пример 2
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35)
val
myList2:
Collection
<Int> =
listOf
(400,300,200)
myList1.
addAll
(myList2)
// myList1 = 7, 35, 400, 300, 200
add
(index, элемент)
добавление одного элемента в заданной позиции
index
это позиция
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14, 9)
// по позиции 2 добавляем число 26
myList1.
add
(2, 26)
// myList1 = 7, 35,
26
, 14, 9
// index=0 index=1
index=2
index=3 index=4
addAll
(index, collection)
добавление коллекции элементов в указанной позиции
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(10, 20, 30)
val
values:
Collection
<Int> =
listOf
(500,600)
myList1.
addAll
(1, values)
// myList1 = 10, 500, 600, 20, 30
Другие функции:
addFirst
()
addLast
()
plus
()
удаление элементов
remove
(элемент)
удаление одного элемента, даже если элемент дублируется
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14, 7, 21)
val
isDeleted = myList1.
remove
(7)
// isDeleted = true
//myList1 = 35, 14, 7, 21
removeAt
(index)
Удаление по индексу
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14, 9)
val
element = myList1.
removeAt
(1)
// element = 35
// myList1 = 7, 14, 9
removeAll
(collection)
удалять только те элементы, которые совпадают с коллекцией
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(10, 20, 30)
val
values:
Collection
<Int> =
listOf
(10, 30)
myList1.
removeAll
(values)
// myList1 = 20
retainAll
(collection)
Удалить все элементы, но сохранить только те, которые совпадают с коллекцией
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(10, 20, 30)
val
values:
Collection
<Int> =
listOf
(10, 30)
myList1.
retainAll
(values)
// myList1 = 10, 30
clear
()
Удаление всех элементов
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14, 9)
val
element = myList1.
clear
()
// myList1 = 0 элементов
Другие функции:
removeFirst
()
removeFirstOrNull
()
removeLast
()
removeLastOrNull
()
removeIf
()
сортировка, фильтрация(выборка элементов по условию), группировка и другие алгоритмы
sortBy
{элемент -> поле для сортировки}
Сортировка всех элементов
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14, 9)
// сортировка по возрастанию
myList1.
sortBy
{ value -> value }
// myList1 = 7, 9, 14, 35
// сортировка по убыванию
myList1.
sortBy
{ value ->
-
value }
// myList1 = 35, 14, 9, 7
filter
{элемент -> Условия}
Выбираем элементы по условию.
Новый список будет создан.
Kotlin
Пример
val
myList1:
MutableList
<
Int
> =
mutableListOf
(7, 35, 14, 9)
// Выбираем элементы, где значения больше 10
val
myList2 = myList1.
filter
{ value -> value>10 }
// myList2 = 35, 14 это новый список
// myList1 = 7, 35, 14, 9 старый список не поменялся
Другие функции:
binarySearch
drop
subList
()
retainAll
{ }
replaceAll
{ }
groupBy
{ }
fold
()
max
()
min
()
intersect
()
slice
()
sum
()
average
()
zip
()
sortWith
()
asReversed
()
reverse
()
reversed
()
shuffle
()
associateBy
{ }
associateWith
{ }
average
()
chunked
()
distinct()
random
()
partition
{ }
Проверка коллекции
Функции:
contains
()
containsAll
()
all
()
any
()
Исходный код ...
interface List
github.com ...
interface
List<out E>
: Collection<E> {
override
val
size: Int
override
fun
isEmpty
(): Boolean
override
fun
contains
(element: @UnsafeVariance E): Boolean
override
fun
iterator
(): Iterator<E>
override
fun
containsAll
(elements: Collection<@UnsafeVariance E>): Boolean
public operator
fun
get
(index: Int): E
public
fun
indexOf
(element: @UnsafeVariance E): Int
public
fun
lastIndexOf
(element: @UnsafeVariance E): Int
public
fun
listIterator
(): ListIterator<E>
public
fun
listIterator
(index: Int): ListIterator<E>
public
fun
subList
(fromIndex: Int, toIndex: Int):
List
<E>
}
interface MutableList
github.com ...
interface MutableList
наследуется от
interface List
Тоесть
interface MutableList
содержит свои функции и функции от
interface List
interface
MutableList<E>
:
List<E>
, MutableCollection<E>
{
override
fun
add
(element: E): Boolean
override
fun
remove
(element: E): Boolean
override
fun
addAll
(elements: Collection<E>): Boolean
public
fun
addAll
(index: Int, elements: Collection<E>): Boolean
override
fun
removeAll
(elements: Collection<E>): Boolean
override
fun
retainAll
(elements: Collection<E>): Boolean
override
fun
clear
(): Unit
public operator
fun
set
(index: Int, element: E): E
public
fun
add
(index: Int, element: E): Unit
public
fun
removeAt
(index: Int): E
override
fun
listIterator
(): MutableListIterator<E>
override
fun
listIterator
(index: Int): MutableListIterator<E>
override
fun
subList
(fromIndex: Int, toIndex: Int):
MutableList
<E>
}
class ArrayList
github.com ...
class ArrayList
это имплементация
interface MutableList
class
ArrayList<E>
:
MutableList<E>
, RandomAccess
{
public
constructor
()
public
constructor
(initialCapacity: Int)
public
constructor
(elements: Collection<E>)
public
fun
trimToSize
()
public
fun
ensureCapacity
(minCapacity: Int)
// From List
override
val
size
: Int
override
fun
isEmpty
(): Boolean
override
fun
contains
(element: E): Boolean
override
fun
containsAll
(elements: Collection<E>): Boolean
override
operator
fun
get
(index: Int): E
override
fun
indexOf
(element: E): Int
override
fun
lastIndexOf
(element: E): Int
// From MutableCollection
override
fun
iterator
(): MutableIterator<E>
// From MutableList
override
fun
add
(element: E): Boolean
override
fun
remove
(element: E): Boolean
override
fun
addAll
(elements: Collection<E>): Boolean
override
fun
addAll
(index: Int, elements: Collection<E>): Boolean
override
fun
removeAll
(elements: Collection<E>): Boolean
override
fun
retainAll
(elements: Collection<E>): Boolean
override
fun
clear
()
override
operator
fun
set
(index: Int, element: E): E
override
fun
add
(index: Int, element: E)
override
fun
removeAt
(index: Int): E
override
fun
listIterator
(): MutableListIterator<E>
override
fun
listIterator
(index: Int): MutableListIterator<E>
override
fun
subList
(fromIndex: Int, toIndex: Int):
MutableList
<E>
}
Зачем создавать ArrayList ?
Ответ:
Общее правило, всегда следует отдавать предпочтение интерфейсу.
Поэтому следует использовать
interface MutableList
.
На заметку!
class ArrayList
имеет 3 конструктора и 2 метода которых нет в
interface MutableList
:
Kotlin
public
class
ArrayList
<E> :
MutableList
<E>, RandomAccess {
public
constructor
()
public
constructor
(initialCapacity: Int)
public
constructor
(elements: Collection<E>)
public
fun
trimToSize
()
public
fun
ensureCapacity
(minCapacity: Int)
...
}
Если по какой то причине нужно использовать функции
trimToSize()
или
ensureCapacity(...)
то тогда нужно создавать
ArrayList
.
← Предыдущая тема
Коллекции это списки, словари и другие классы для добавления, удаления элементов, поиска элементов, сортировки элементов. | Kotlin
Следующая тема →
Создаем коллекции list, set, map и массив array в Kotlin
Ваши Отзывы ... комментарии ...
Вашe имя
Ваш комментарий
(www ссылки может добавлять только залогиненный пользователь)
+ картинку
•
Что такое Kotlin ?
•
Почему самой популярной средой разработки для Kotlin является IntelliJ IDEA?
•
Скачать и установить IntelliJ IDEA для изучения Kotlin
•
Создание нового консольного проекта для изучения Kotlin | IntelliJ IDEA
Устанавливаем значение
•
Объявлем переменную и устанавливаем значение в Kotlin | val, var, lateinit, константа: const val, глобальная переменная: companion object
null
•
null значение используем символ ? и ?. и !! и ?: и !!. и ?. в Kotlin
Int, Float, Boolean, Char ...
•
Целые числа в Kotlin: Byte, UByte, Short, UShort, Int, UInt, Long, ULong
•
Десятичные числа в Kotlin: Float, Double
•
Флаг со значениями true или false в Kotlin это: Boolean
•
Символ в Kotlin это: Char
•
Конвертация числа в текст на языке Kotlin | Int → String
String
•
Строка, текст в Kotlin это: String
•
Интерполяция строк в Kotlin. Пример: val address:String = "${street}, ${country}"
•
В чем отличие String и StringBuilder ?
Enum
•
Что такое перечисление (enum) в Kotlin ?
•
Как найти enum по значению в Kotlin ?
Коллекции и массивы
•
Коллекции это списки, словари и другие классы для добавления, удаления элементов, поиска элементов, сортировки элементов. | Kotlin
•
Списки в Kotlin. interface List , interface MutableList , class ArrayList
•
Создаем коллекции list, set, map и массив array в Kotlin
Функция
•
fun() { ... } - это функция в Kotlin. Функция нужна чтобы выполнить действие.
Функция расширения
•
Функция расширения в Kotlin. Позволяет добавить новую функцию в класс системный (List, ..) или мой (Book, ...)
Лямбда функция
•
Лямбда функция в Kotlin. Пример1: var myFunc1 : (a:Int, b:Int) -> Int = { p1, p2 -> p1 + p2 };
Class
•
Что такое class в Kotlin? Пример: class MyBook { ... } | первичный и вторичный конструктор | блок init
•
lateinit это поздняя инициализация для поля class | Kotlin
•
class, который наследует от интерфейса в Kotlin | Пример: class MyBook : IBook { ...}
•
Безымянный class, который наследует от интерфейса в Kotlin | Пример: val book1 = object : IBook { ...}
•
Общий, template class в Kotlin | Пример: class MyBook[<]T[>] { ... }
Flow
•
flow - это поток данных в Kotlin. Это замена LiveData в Android Kotlin и замена Observable в RxJava
Пишем программу
•
Консольное Kotlin приложение работает как Android Jetpack Compose
Ваши вопросы присылайте по почте:
info@dir.by