Size: a a a

Kotlin Community

2020 December 08

IP

Iaroslav Postovalov in Kotlin Community
@vffuunnyy
10 лет на котлине не писал, ArrayList.pop() нету же, только через drop(1).first()? 🤔
во-первых, drop(1).first() - это проблема только в критическом по перфомансу коде.
во-вторых, если все-таки очень нужно очень быстро (за более или менее константное время) выбрасывать элемент, то есть:
- ArrayDeque
-j.u.LinkedList, j.u.ArrayDeque и j.u.Stack (synchronized), для некоторых кейсов j.u.PriorityQueue и еще пара особых классов из ждк
источник

AN

Alexander Nozik in Kotlin Community
Там можно или через кольцевой буфер или через двусвязанный список. Но последнее явно не array
источник

VP

Vladimir Petrakovich in Kotlin Community
Andrew Mikhaylov
Странноватое у него название :)
Да не, полностью отражает суть
источник

@

@vffuunnyy in Kotlin Community
Хм, а что быстрее будет работать для дропа первого элемента deque или linked? 🤔
источник

Д

Денис in Kotlin Community
Добрый вечер. Возможно ли переопределить метод на уже созданном объекте? Если да, то подскажите, пожалуйста, как
источник

AM

Andrew Mikhaylov in Kotlin Community
Vladimir Petrakovich
Да не, полностью отражает суть
Полностью отражает суть название ArrayList. ArrayDeque — не настолько) Но это мелочи, конечно.
источник

RI

Ruslan Ibragimov in Kotlin Community
Iaroslav Postovalov
во-первых, drop(1).first() - это проблема только в критическом по перфомансу коде.
во-вторых, если все-таки очень нужно очень быстро (за более или менее константное время) выбрасывать элемент, то есть:
- ArrayDeque
-j.u.LinkedList, j.u.ArrayDeque и j.u.Stack (synchronized), для некоторых кейсов j.u.PriorityQueue и еще пара особых классов из ждк
Не LinkedList пожалуйста, не нужен он тут
источник

AN

Alexander Nozik in Kotlin Community
@vffuunnyy
Хм, а что быстрее будет работать для дропа первого элемента deque или linked? 🤔
одинаково примерно. Но линкедлисты реально не используются
источник

AN

Alexander Nozik in Kotlin Community
Денис
Добрый вечер. Возможно ли переопределить метод на уже созданном объекте? Если да, то подскажите, пожалуйста, как
Смотря что такое "переопределить метод" Если заменить существующий, то без рефлексии нет.
источник

@

@vffuunnyy in Kotlin Community
Alexander Nozik
одинаково примерно. Но линкедлисты реально не используются
а почему их не используют? Хорошая вещь же в некоторых моментах
источник

OY

Oleg Yukhnevich in Kotlin Community
Andrew Mikhaylov
Полностью отражает суть название ArrayList. ArrayDeque — не настолько) Но это мелочи, конечно.
да вроде как раз отражает, так же, как ArrayList
Deque - double ended queue - как раз то, чем является
Array - то, что под капотом массив :)
источник

IP

Iaroslav Postovalov in Kotlin Community
@vffuunnyy
Хм, а что быстрее будет работать для дропа первого элемента deque или linked? 🤔
arraydeque (ну во всяком случае джавовый) - O(1), linkedlist - O(1), если head
источник

AN

Alexander Nozik in Kotlin Community
@vffuunnyy
а почему их не используют? Хорошая вещь же в некоторых моментах
Ровно в одном случае она хорошая. Если угадаете, в котором, будет медаль
источник

AM

Andrew Mikhaylov in Kotlin Community
Oleg Yukhnevich
да вроде как раз отражает, так же, как ArrayList
Deque - double ended queue - как раз то, чем является
Array - то, что под капотом массив :)
Ну ладно, не буду спорить.
источник

@

@vffuunnyy in Kotlin Community
Alexander Nozik
Ровно в одном случае она хорошая. Если угадаете, в котором, будет медаль
решить задачу на лабе и получить 5 🌚
источник

AN

Alexander Nozik in Kotlin Community
@vffuunnyy
решить задачу на лабе и получить 5 🌚
Я просто к тому, что это частый вопрос. Если сами скажете, где это актуально - хорошо. Если нет, то подсказывать не буду и вам придется верить на слово.
источник

@

@vffuunnyy in Kotlin Community
Alexander Nozik
Я просто к тому, что это частый вопрос. Если сами скажете, где это актуально - хорошо. Если нет, то подсказывать не буду и вам придется верить на слово.
В моем случае оно хорошо подходит, как и очередь, где нужно поочерёдно элемент первый выбрасывать, пока не закончится список
источник

IP

Iaroslav Postovalov in Kotlin Community
Alexander Nozik
Ровно в одном случае она хорошая. Если угадаете, в котором, будет медаль
графы
источник

IP

Iaroslav Postovalov in Kotlin Community
Alexander Nozik
Ровно в одном случае она хорошая. Если угадаете, в котором, будет медаль
список смежности какой-нибудь
источник

AN

Alexander Nozik in Kotlin Community
Не угадал. В графах вообще не лист, там ветвление. Это уже не про котлин, так что продолжение в @pofftop. По котлину: линкед лист специально не стали добавлять в стдлибу, потому что его практически никогда не используют по делу. Зато очень часто не по делу.
источник