Ho una collezione in cui sto inserendo elementi in base a una sorta di input. Circa il 90% delle volte, ci sarà un solo elemento in questa collezione. Possono esserci più elementi, ma ogni elemento oltre il primo ha una probabilità di apparire in modo esponenziale decrescente. Quindi potrebbe avere 2 elementi il 9% delle volte, 3 elementi 0,9%, 4 elementi 0,09%, ecc.
Quale struttura dati è più efficiente qui? Le mie due idee sono una ArrayList con una dimensione iniziale di 1, o qualche altro numero molto piccolo (forse 2 o 3?), O una LinkedList, che avrà sempre il sovraccarico dei puntatori testa / coda, ma non perderà tempo / spazio per allocare memoria aggiuntiva.
Mi rendo conto che qualsiasi cosa scegliamo probabilmente non è terribilmente importante, ma mi sono imbattuto in questa situazione più volte e sono interessato se c'è una convenzione stabilita.