через drop(1).first()? 🤔
10 лет. Ага. Вы с очередью не попутали?
не понял вас 😅 10 лет было гиперболизировано, с намёком на то, что забыл всё абсолютно
Делать удаление элемента из массива - дело довольно дурное.
Я понял. Просто 10 лет назад котлина не было. Звучит странно
По-видимому вам нужен Deque
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/remove-last.html
то что нужно 🤔 спасибо
Скорее https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-array-deque/remove-first.html
не совсем понял что это)
не-а pop это последний
ну так код был про первый
Двухсторонняя очередь (с операциями добавления и удаления в начало и конец). С недавних пор есть в stdlib.
Это структура данных сделана для того, что вы хотите сделать. Удалять первый элемент из массива - безумно дорого
код там вообще получает второй элемент дропая первый:)
А, ну да, тем более
Двусвязный список или это про другое?
Список в общем случае про доступ к любому элементу, очередь только к началу/концу.
Под низом там список, но это про другое
отлично, именно это и надо было c:
во-первых, drop(1).first() - это проблема только в критическом по перфомансу коде. во-вторых, если все-таки очень нужно очень быстро (за более или менее константное время) выбрасывать элемент, то есть: - ArrayDeque -j.u.LinkedList, j.u.ArrayDeque и j.u.Stack (synchronized), для некоторых кейсов j.u.PriorityQueue и еще пара особых классов из ждк
Не LinkedList пожалуйста, не нужен он тут
Обсуждают сегодня