Size: a a a

2021 July 14

D

DOCDOCTOR in pro.jvm
Ты получаешь элементы при итерации? по всей структуре данных?
источник

AB

Andrey Belyaev in pro.jvm
А что вообще за задача? Учебная или промышленная какая-то?
источник

OT

One Two in pro.jvm
Да, по всей структуре. При этом множество раз пробегаю от конца до начала.
источник

OT

One Two in pro.jvm
Промышленная
источник

D

DOCDOCTOR in pro.jvm
А зачем множество раз?
источник

AB

Andrey Belyaev in pro.jvm
А поподробней можно? Какие-то измерения, группировки, расчеты? Почему нужно всё в памяти держать и именно в том же приложении?
источник

OT

One Two in pro.jvm
На основе данных производятся математические расчеты. И этих формул большое количество
источник

OT

One Two in pro.jvm
Математические расчеты
источник

D

DOCDOCTOR in pro.jvm
У удаление как происхожит? ты понимаешь сколько элементов надо удалить и просто идешь по циклу и дропаешь столько раз элемент по индексу 0?
источник

ЕЕ

Евгений Елисеев... in pro.jvm
а удалять для чего? Мб если удаление на arraylist так сильно тормозит то вместо него хранить список удаленных элементов а реально список оставлять как был?
источник

OT

One Two in pro.jvm
Удаление после добавления очередного объекта.
Изначально подгружаем 2000 элементов, далее по циклу пробегаем, добавляем еще один элемент и удаляем первый
источник

E

Etki in pro.jvm
да проще даже null по индексу кидать
источник

D

DOCDOCTOR in pro.jvm
А есть кейсы когда ты ищещь прям по какому то конкретному индексу а не по всей структуре бежишь? типо вот только элемент с индексом 100, и на сколько такие кейсы частые?
источник

ЕЕ

Евгений Елисеев... in pro.jvm
ну я хз может null - валидное значение: а так - да, еще быстрее будет
источник

OT

One Two in pro.jvm
Нет. Пробегаю по всему массиву
источник

ch

central hardware in pro.jvm
немного отвлеченно, можете глянуть, мб поможет https://aparapi.com/
источник

D

DOCDOCTOR in pro.jvm
Исходя из того что щас я услышал я бы попробовал сделать вот так:

1) Использовать LinkedList
2) Мне приходит колличество элементов которое надо добавить, я кладу колличество в переменную и запонимаю сколько элементов я щас добавлю
3) Дальше итерируюсь и доаваляю в конец
4) Потом второй цикл берет переменую из пункта 2 и делает столько итерация и дропает каждый раз первый элемент

Сделал бы это и посмотрел производительность ок мне или нет,  если нет сел бы думать дальше
источник

ЕЕ

Евгений Елисеев... in pro.jvm
судя по этому
>Изначально подгружаем 2000 элементов, далее по циклу пробегаем, добавляем еще один элемент и удаляем первый
вышепредложенный ring buffer это именно то что нужно
источник

D

DOCDOCTOR in pro.jvm
Возможно, но почему бы я попробовал сначала linked, потому что это очевидно и просто) а приемущество:

1) по сравнению с аррау все операции которые описал чел выше будут константы а в array они щас афектят на его производительность
источник

AB

Andrey Belyaev in pro.jvm
Матрицы? Графы? Или что-то новое, науке неизвестное?
источник