Size: a a a

2019 October 15

AN

Alexander Nozik in Kotlin JVM
Первый в любом слуае ужасен
источник

TT

Turalllb Turalll in Kotlin JVM
Alexander Nozik
нет, второй вариант в любом случае пройдет до конца исходного массива. Первый выкинется на первом промахе кэша
return@forEach не перекинет на следующую итерацию ?
источник

AN

Alexander Nozik in Kotlin JVM
Turalllb Turalll
return@forEach не перекинет на следующую итерацию ?
Не должен.
источник

QH

Quantum Harmonizer in Kotlin JVM
Должен.
источник

AN

Alexander Nozik in Kotlin JVM
Quantum Harmonizer
Должен.
Разве?
источник

AN

Alexander Nozik in Kotlin JVM
А, вообще да, наверное его можно как break использовать. Но не надо так делать, конечно.
источник

QH

Quantum Harmonizer in Kotlin JVM
Alexander Nozik
А, вообще да, наверное его можно как break использовать. Но не надо так делать, конечно.
continue же
источник

TT

Turalllb Turalll in Kotlin JVM
источник

TT

Turalllb Turalll in Kotlin JVM
вот, я затупил, могу не прерывать, а просто else написать в первом варианте
источник

QH

Quantum Harmonizer in Kotlin JVM
...map[it]?.let(str::append)
источник

AN

Alexander Nozik in Kotlin JVM
Quantum Harmonizer
...map[it]?.let(str::append)
да,  вот так
источник

AN

Alexander Nozik in Kotlin JVM
Если говорить про производительность будет примерно одинаково.
источник

AN

Alexander Nozik in Kotlin JVM
Но второй вариант читается лучше
источник

TT

Turalllb Turalll in Kotlin JVM
Quantum Harmonizer
...map[it]?.let(str::append)
да, if (it.isDigit() || it in 'a'..'z') traslitStr.append(it)
else TransliterateRules.transliterationMap[
it]?.let { str ->
   traslitStr.append(str)
}
источник

TT

Turalllb Turalll in Kotlin JVM
но мне и другой вариант приятнее
источник

TT

Turalllb Turalll in Kotlin JVM
Так вот про производительность и речь
источник

TT

Turalllb Turalll in Kotlin JVM
второй вариант уже создал список стрингов
источник

TT

Turalllb Turalll in Kotlin JVM
а первый создает массив байтов
источник

AN

Alexander Nozik in Kotlin JVM
Turalllb Turalll
второй вариант уже создал список стрингов
Ну один промежуточный список - это фигня. У вас там реальный ботлнек?
источник

AN

Alexander Nozik in Kotlin JVM
кстати, есть еще buildString{}, с ним первый вариант станет значительно приятнее
источник