Size: a a a

2021 June 11

AL

Alexander Levin in Kotlin Start
Примечание: при этом всю проблему можно обойти примерно так:

val input = "aaabbc"
val charToCount = input.groupingBy { it }.eachCount()
val mostUsed = charToCount.maxByOrNull { it.value }?.key ?: return
println(mostUsed)
источник

OS

Oleg Shuliak in Kotlin Start
интересно, спасибо большое
источник

BP

Bogdan Panchenko in Kotlin Start
Можно putMerge или как там правильно называется, правда она джавовая
источник

AL

Alexander Levin in Kotlin Start
Ну всмысле да, из джавы можно достать всякие computeX, но вкусовщина немного.
источник

AL

Alexander Levin in Kotlin Start
Тогда например будет:
Исходная строка: map.computeIfPresent('1') { _, i -> i + 1 }
Схлопнуть с предыдущей: map.compute('1') { _, i -> (i ?: 0) + 1 }
источник

П

Паршин Сергей... in Kotlin Start
Я в котлине новичек, вот решение без знаний сложных методов
источник

AL

Alexander Levin in Kotlin Start
Ну... Так конечно работает, но потенциально очень долго (условно если в строке много уникальных символов, то сложность выйдет ближе к n^2)

Концептуально у автора с решением всё хорошо :)
источник

OS

Oleg Shuliak in Kotlin Start
Да, спасибо. Именно из-за сложности предложенного вами алгоритма я решил решил не использовать 2 вложенных цикла
источник

GS

GC S in Kotlin Start
Прив всем!
Начинать как тут?
Действовать как в закрепе?
источник

AL

Alexander Levin in Kotlin Start
Тут это где?

Если в Котлине, то в FAQ (смотреть описание канала) есть ресурсы различные.
Если в канале, то ознакомьтесь с правилами (тоже в описании канала) и задавайте вопросы :)
источник

A

Alexey in Kotlin Start
как правильно дождаться завершения чтобы получить результирующий список?
источник

AL

Alexander Levin in Kotlin Start
Могу ошибаться, но не просто awaitAll(subs, inApp)?
источник

🦁🐻

🦁 🐻 in Kotlin Start
fun main() {
   var arraylist : ArrayList <Any> = ArrayList()
   arraylist.add(Student("Ali1","Aliev1", "2.400101", 5.0))
   arraylist.add(Student("Vali2","Aliev2", "2.400101", 4.0))
   arraylist.add(Aspirant("Ali3","Aliev3", "2.400101", 5.0))
   arraylist.add(Aspirant("Vali4","Aliev4", "2.400101", 4.0))
   
   for(item in arraylist){
       if (item is Student){
        println(item)  
       }
       else if(item is Aspirant){
           println(item)
       }
   }
   

 
 
}



open class Student(protected var firstName:String, protected var lastName:String, protected var group:String, protected var averageMark:Double){
 
  fun getScholarship():Int{
       if(averageMark>=5){
           return 100;
           
       }else {
           return 80
       }
             
   }
   
    fun name():String{
          return "$firstName  "
      }
}


class Aspirant(fisrtName:String, lastName:String, group:String,averageMark:Double):Student( fisrtName,  lastName, group, averageMark){
 
   fun getScholarship1():Int{
       if(averageMark>=5){
           return 200;
           
       }else {
           return 180
       }
 
}
}
источник

🦁🐻

🦁 🐻 in Kotlin Start
Student@5451c3a8
Student@76ed5528
Aspirant@2c7b84de
Aspirant@3fee733d
источник

🦁🐻

🦁 🐻 in Kotlin Start
Здравствуйте можете подсказать почему так выводиться
источник

AM

Andrew Mikhaylov in Kotlin Start
override fun toString(): String = ... для обоих классов.
источник

AM

Andrew Mikhaylov in Kotlin Start
Стандартная реализация возвращает имя класса, собачку и уникальный идентификатор объекта
источник

🦁🐻

🦁 🐻 in Kotlin Start
И еще не могу использовать override для функции getscholarship
источник

BP

Bogdan Panchenko in Kotlin Start
в котлине классы как и методы, как и свойства по умолчанию финальные нужно проставить модификтор open
источник

AM

Andrew Mikhaylov in Kotlin Start
Её тоже нужно сделать open. Не требуется он только в интерфейсах, там все методы открыты по-умолчанию.
источник