@kotlin_lang

Страница 776 из 982
Alexander
28.07.2018
14:24:41
Мне по фигу. Но народ часто сознательно или подсознательно на это реагирует

Konstantin
28.07.2018
15:02:12
+
вот это забавная тема

это везде так или только тут*?

Google
Quantum Harmonizer
28.07.2018
15:03:49
везде, где есть комбот

Konstantin
28.07.2018
15:04:48
а какие плюшки за рейтинг? за плюсики можно обход ограничений покупать? ))

Sander
28.07.2018
15:25:15
Всем привет, после джавы не привычно писать arrayListOf, удобней ArrayList, но посмотрел сурсы - это одно и тоже, кто как предпочитает и как правильней?

Sander
28.07.2018
15:25:51
окай, а почему

Bogdan
28.07.2018
15:26:18
сразу можно задать значения

Alexander
28.07.2018
15:28:19
Посмотрите в реализацию arrayListOf и сразу все станет понятно

Andrew
28.07.2018
15:35:47
Всем привет, после джавы не привычно писать arrayListOf, удобней ArrayList, но посмотрел сурсы - это одно и тоже, кто как предпочитает и как правильней?
Предпочтительнее писать mutableListOf, ибо вас почти наверняка семантика интересует, а не реализация.

Alexander
28.07.2018
15:46:30
Кстати да.

Sander
28.07.2018
15:53:12
Посмотрите в реализацию arrayListOf и сразу все станет понятно
я это и сделал перед тем как задать вопрос

Alexander
28.07.2018
16:07:53
Тогда я не понял, в чем вопрос. arrayListOf без рагументов полностью эквивалентен ArrayList у меня такое чувство, что он остался со времен до тайпалиасов, вообще выпилить бы его надо. Если с аргументами, то там абсолютно разный функционал.

Sander
28.07.2018
16:14:29
ну в этом и был вопрос, что использовать и почему, если это одно и тоже ... но как выяснилось, можно сразу добавлять аргументы в arrayListOf

Google
Friedrich
28.07.2018
17:29:58
Без аргументов есть же б-жественный emptyList()

Alexander
28.07.2018
17:33:08
Его нельзя редактировать

Friedrich
28.07.2018
17:42:10
Да, это верно. Для редактируемого списка такой же трюк не провернуть.

Aleksandr
28.07.2018
18:05:46
а зачем вообще редактировать? почему бы не использовать иммутабельные листы всегда?

pplcf
28.07.2018
18:07:30
скорость

pplcf
28.07.2018
18:07:44
и мусор, ага

Friedrich
28.07.2018
18:07:51
А так ты написал emptyList и сразу дофига перформанс инженер

pplcf
28.07.2018
18:07:56
ну эт редко бывает на самом деле

может человек игры там пилит

Friedrich
28.07.2018
18:08:12
У меня часто бывает, что я хочу emptyList

pplcf
28.07.2018
18:08:12
и ему нужен мутабл лист

Friedrich
28.07.2018
18:08:54
и ему нужен мутабл лист
Ну да, окей, бывают случаи, когда иммутабельный лист не годится, спору нет.

Bogdan
28.07.2018
18:25:52
и ему нужен мутабл лист
может тогда лучше масивы

Alexander
28.07.2018
18:26:22
Изменяемые листы редко нужны, но бывает. Вот буквально сегодня использовал, надо было слить четыре других листа, каждый из которых может быть нулем. Можно сделать функционально, но значительно удобнее через изменяемый лист.

pplcf
28.07.2018
18:30:21
может тогда лучше масивы
если arraylist, то особой разницы то нет

зато апишка приятнее

Bogdan
28.07.2018
18:31:13
pplcf
28.07.2018
18:33:12
а на чем?

Google
Bogdan
28.07.2018
18:33:48
а на чем?
лишний объект, ArraList - это обертка над масивами

pplcf
28.07.2018
18:34:53
и много сэкономишь?

Bogdan
28.07.2018
18:35:31
и много сэкономишь?
если такой масив не один (а он не один) довольно много

+ ArrayList заранье много создает

pplcf
28.07.2018
18:36:03
он создаст сколько ты скажешь

если тебе нужно

Bogdan
28.07.2018
18:36:16
создается масив размеров 12 (вроде), и когда не будет места будет ресайз

pplcf
28.07.2018
18:36:53
ты про initial capacity?

ну йопт

у него же есть конструктор с нужным значением

pplcf
28.07.2018
18:37:55
что и?

Bogdan
28.07.2018
18:38:04
просто смысл в листе когда тебе самому проще управлять

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

pplcf
28.07.2018
18:39:14
я вот открыл его

и в упор не вижу на чем там экономить

если их не мульоны

Bogdan
28.07.2018
18:41:06
и в упор не вижу на чем там экономить
ну значит пока тебе не нада экономит

если их не мульоны
ты сам смотришь что когда использовать, конец дискусии

Google
pplcf
28.07.2018
18:50:22
мне кажется ошибка была на моменте выбора языка для этой игры, если пошла такая экономия

Alexander
28.07.2018
19:05:11
+ ArrayList заранье много создает
Ну это не правда. Заранее он создает всего несколько элементов. Единственный существенный минус ArrayList - это боксинг примитивов. Если работать не с примитивами, то он ничем не хуже массива.

нет нужно старатся не мусорить
Это тоже не совсем правда. Стараться надо, но в меру. Если это идет в ущерб отлаживаемости кода, то лучше не стоит. Котлиновские массивы кстати хороший компромисс.

pplcf
28.07.2018
19:06:53
точно

pplcf
28.07.2018
19:07:09
жвм не умеет в примитивы в листах же, как то забыл

pplcf
28.07.2018
19:07:31
а так там экономия 24 байта

Admin
ERROR: S client not available

Combot
28.07.2018
19:07:39
Репутация Alexander Nozik увеличена! Текущая репутация: 1

Bogdan
28.07.2018
19:09:09
а так там экономия 24 байта
у тебя лист на 1000 объектов, тепрь 1001 происодит ресайз, ну и например ты знаешь что больше 1000 не может юыть, но ты не успел удалить лишний

Alexander
28.07.2018
19:11:11
Ситуация когда что-то в цикле добавляет в лист в высокопроизводительном месте мне вообще не кажется нормальной. Для этого есть стримы и последовательности. Они как правило генерят иммутабельные листы на выходе.

pplcf
28.07.2018
19:12:01
ну странный пример

Bogdan
28.07.2018
19:12:12
ну странный пример
можно поговнокодить и переопределить логику resize

Google
Alexander
28.07.2018
19:14:20
Кстати есть еще нио буфферы. Когда нужно много всего куда-то писать, я их использую.

pplcf
28.07.2018
19:22:27
просто add не юзать

гет, сеты по индексу есть же

хотя тогда особой разницы с массивами уже нет, ага

Bogdan
28.07.2018
19:29:30
просто add не юзать
тогда это имутабельный лист

Friedrich
28.07.2018
19:59:16
есть либа
А какая?

Bogdan
28.07.2018
20:00:13
А какая?
https://habr.com/post/187234/

Friedrich
28.07.2018
20:00:38
А, окей, эту я знаю :)

Я думал, вдруг для котлина что-то специфичное выдумали

Dmitriy
28.07.2018
20:46:16
Привет, кто знает как-нибудь можно вызвать функцию по ссылке? fun echo(parameter: Any): Any { return parameter } val methods = mutableMapOf<String, Function<*>>() methods[::echo.name] = ::echo methods["echo"]("FOO") // Kotlin: Unresolved reference: invoke

Ivan
28.07.2018
20:47:04
invoke?

Quantum Harmonizer
28.07.2018
20:47:21
иначе же непонятно, какой арности функция

ну и впредь лучше цитировать сообщения об ошибках, а не «не работает»

Dmitriy
28.07.2018
20:51:08
В любом случае будет ошибка, Kotlin: Unresolved reference: invoke

Quantum Harmonizer
28.07.2018
20:51:26
уже сказал, почему

Egor
28.07.2018
20:52:47
А в котлине можно замешивать лямбды и рефлексию? По-моему, Function это немного не про то

Quantum Harmonizer
28.07.2018
20:53:22
про Function только понятно, что это функция. Сколько каких параметров — неизвестно.

Страница 776 из 982