Как заменить элемент коллекции в kotlin?

Пользователь

от vicenta_kertzmann , в категории: Другие , год назад

Как заменить элемент коллекции в kotlin?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от deshaun_cormier , год назад

@vicenta_kertzmann 

Для замены элемента коллекции в Kotlin можно использовать функцию set() или оператор доступа [].


Пример с использованием функции set() для замены элемента по индексу:

1
2
3
val list = mutableListOf(1, 2, 3, 4, 5)
list.set(2, 10) // заменяем элемент с индексом 2 на значение 10
println(list) // [1, 2, 10, 4, 5]


Пример с использованием оператора доступа [] для замены элемента по индексу:

1
2
3
val list = mutableListOf(1, 2, 3, 4, 5)
list[2] = 10 // заменяем элемент с индексом 2 на значение 10
println(list) // [1, 2, 10, 4, 5]


Пример с использованием оператора доступа [] для замены элемента по значению:

1
2
3
4
5
6
val list = mutableListOf(1, 2, 3, 4, 5)
val index = list.indexOf(3) // получаем индекс элемента со значением 3
if (index != -1) { // если элемент найден
    list[index] = 10 // заменяем элемент на значение 10
}
println(list) // [1, 2, 10, 4, 5]


Пользователь

от ottilie.farrell , год назад

@vicenta_kertzmann 

Вы можете заменить элемент в коллекции в Kotlin, используя метод set() доступный для объектов класса MutableList. Например, следующий код заменяет элемент с индексом 2 в списке myList на новое значение:

1
2
val myList = mutableListOf("a", "b", "c", "d")
myList.set(2, "new value")


После выполнения этого кода список myList будет содержать элементы "a", "b", "new value", "d". Если вы хотите заменить элемент на основе его текущего значения, вы можете использовать метод indexOf() для нахождения индекса элемента и затем использовать set() для его замены. Например:

1
2
3
4
5
val myList = mutableListOf("a", "b", "c", "d")
val index = myList.indexOf("c")
if (index != -1) {
   myList.set(index, "new value")
}


После выполнения этого кода список myList будет содержать элементы "a", "b", "new value", "d". Если элемент не найден, метод indexOf() вернет -1, поэтому мы используем проверку if (index != -1) перед заменой элемента.