Изучение Kotlin | #5 - Массивы данных

preview_player
Показать описание
Массивы данных в языке Kotlin реализованы очень удобно и позволяют выполнять множество операций. В Kotlin можно создавать массивы, списки, а также ассоциативные массивы. В уроке вы рассмотрите массив Array, список List, а также массив Map.

✔ -------------

- Уроки от #GoshaDudar 👨🏼‍💻
- Все уроки по хештегу #goshaKotlin
Рекомендации по теме
Комментарии
Автор

Мы у себя в компании начинаем использовать Котлин на бэкенде. Показывает он себя очень хорошо. Котлин настолько хорош, что даже, если вы будете писать на нем Java-style код (а вы будете это делать по-началу), то он будет все равно читабельнее и безопаснее :)

SeoquickUa
Автор

Не хочу хаять человека, который делает неплохие видосики, но момент 04:10 с println(items.set... сломал мозг.
Это ж новички так и запомнят, что для установки значения тоже нужен println :-)
И, главное, автора ничего не смутило потом при объяснении вывода. Хоть бы обратить внимание уже при тесте, что println для типа Unit не выводит ничего и он там не нужен ;-)
Но, в целом, хороший баланс скорости и содержания. Респект. Как связки после такой сессии? :-)

yevhenchernov
Автор

23:10 нерелевантно. Если список состоит из цифр: можно добавить цифру прописав list_name += цифра. Так же добавить что угодно в список, если прописать к списку <Any>

bolatmukashev
Автор

Так, такм говорится, что если мы хотим добавить элемент в список, то надо использовать mutableListOf(). Но я смотрел и вместо этого если я буду использовать arrayListOf(), то я тоже могу добавить элементы. А mutableListOf() внутри создает и возвращает тот же ArrayList(). Так в чем разница? То же самое есть и в map.

haykmkrtchyan
Автор

А как сравнить значения в mutableMapOf?
// реализуйте функцию longestWord()
// longestWord("Я", "люблю", "гулять") -> Результат "гулять"
функция longestWord() принимает на вход набор строк String и возвращает самую длинную строку из набора.
fun longestWord(vararg words: String ): String{}

alexrychkoff
Автор

Спасибо за видео. Забавна реализации последнего метода fun printArray (items: Map <Any, Any>) - выдаст ошибку - хотя нелогично - Any - же любой тип можно использовать. Нужно четко прописать String - того что будет вызываться. Странное решение разработчиков языка Котлин

alexivanov
Автор

хоть видео и старое, но в чем минусы или ограничения типа данных any? я могу создать массив из целых чисел или строковый, но также назначать его any. Что помешает мне его использовать всегда и везде?

geimer
Автор

Гоша, сможете сделать видео курс про C++Builder Community Edition

termi
Автор

Привет, будешь делать по Laravel уроки?

СашаБоров-дт
Автор

Здравствуйте. Спасибо за уроки.
У меня возник вопрос
Я создал ассоциациативный массив и не указывал какого типа массив
var user = mutableMapOf("name" to "Bob", "age" to 23)
Потом передал в этот массив новие данные
user.put("city", "Sochi") и вот тут у меня Sochi стали подчёркиваться красным. Выдаёт ошибку. До тех пор пока я не заменил 23 на true. Почему так? Получается в массив не возможно передать новые данные если там присутствует тип Int?

MxM_
Автор

Any это тоже самое что Object в джаве?

КириллМакаричев-пю
Автор

Гоша, бро, такое дело, я применяю indexOf к массиву (arrayOf)и он применяется, не выдает ошибку.Я перепроверил несколько раз.Что не так?

Kepler
Автор

Слушай, а для чего такое разнообразие в массивах ?

tergu
Автор

fun main (){
var items: Array<Int> = arrayOf(3, 6, 4, 3, 5, 2, 3, 7)
val kolvostrok = items.size

массива +
"\n| Название массива: items |" +
"\n| Количество строк в массиве: $kolvostrok |" +


println("Данные которые хранятся в массиве: \n" +

items.forEachIndexed {
index, el ->
println("|----Индекс: $index, Значение: $el----|")
}

}











import java.util.Scanner
fun main (){
val number1 = Scanner(System.`in`)
//var items: Array<Int> = arrayOf(1, 32131, 2341123) Енто массив
var items: List<Int> = listOf(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)// А вот это список, лист
val kolvostrok = items.size

списка +
"\n| Название списка: items |" +
"\n| Количество строк в массиве: $kolvostrok |" +


println("Данные которые хранятся в списке: \n" +

items.forEachIndexed {
index, el ->
println("|----Индекс: $index, Значение: $el----|")
}


println("Я могу найти индекс нужных тебе данных. Сделать это? ")
var yes_or_no = readLine()

if (yes_or_no == "y"){
try {
println("Хорошо, какие данные найти? ")
var number_2: Int = number1.nextInt()
val result = items.indexOf(number_2)
if (result == -1)
println("К сожелению ничего не найдено. Больше нечего делать, завершение процесса")
else
println("Индекс введёных тобой данных: $result")
}
catch (e: Exception){
println("Проверь правильность введёных тобою данных. Это должно быть целое число не превыщающее -2 147 483 648 до 2 147 483 648")
println("Подробное описанние ошибки: $e")
}
}
if (yes_or_no == "n"){
println("Больше нечего делать. Завершение процесса")
}
if(yes_or_no != "y" && yes_or_no != "n"){
println("Ты написал неверный символ. Больше нечего делать, завершение процесса")
}
}

CatLida
Автор

ничего не понятно, но очень интересно

fnktezl
Автор

почему ты закомментировал ты могбы удалить

climf
Автор

Что бы вывести весь массив в консоль нужно написать функцию? встроенной нет?

vitalyadecvat
Автор

Самое важное из урока, Bob - собачье имя XD

ПавелКасуми
Автор

Привет, можешь сделать видео как сделать 2д игру в жанре симулятора бога🙏уже весь ютуб перелазил, нету такого видео

defan
Автор

Как обратиться к определенному интервалу в рандомном массиве?

krb