Wpis z mikrobloga

#programowanie #java
Która kolekcja w javie jest najlepsza pod względem wydajności do dodawania elementów? Oraz do dodawania elementów i zachowania kolejności dodawania?
ArrayList ma złożoność dodawania O(1). Jest coś lepszego od arraylist?
  • 14
@zjadacz_wyjadacz: Ładuje z pliku tekstowego około 200 elementów x500 i później taka lista jest zapisywana do bazy, i się zastanowiłem czy można jakoś popracować nad wydajnością takiego procesu.
@pulla: no to LinkedList spokojnie zrobi robotę :) i tak jeśli będziesz to czytał, to zapewne iteracyjnie, a przynajmniej nie ogranicza Cię rozmiar listy.

Ewentualnie, jeżeli jedyne co robisz to przerzut do bazy i możesz sobie pozwolić na trzymanie przez chwilkę otwartego połączenia, w ogóle olej kolekcję po drodze i czytając z pliku od razu dodawaj dane do zapytania przygotowanego używając batchy ( http://www.mkyong.com/jdbc/jdbc-preparedstatement-example-batch-update/ ). To zresztą ogólnie najlepszy sposób na
@zjadacz_wyjadacz: No właśnie korzystam z ORM hibernate + spring data. Generalnie mój aktualny kod wygląda mniej więcej tak:
pętla po elementach (około 500)
na podstawie elementu jest wyciągana scieżka do pliku i tworzona arraylista obiektów parsowanych z pliku (około 200 linii)
metoda zwraca listę i później leci zapis tej listy do bazy.
Cały proces w pętli jest wykonywany wielowątkowo.