Originariamente inviato da lelefante
Se proprio non puoi utilizzare un DB devi fare alcune considerazioni: è necessario l'ordinamento? di cosa hai più bisogno: operazioni di inserimento/estrazione, o ricerche per consultazione?
A seconda di queste risposte cambia la struttura dati da utilizzare, tenendo sempre presente che nella maggior parte dei casi si riesce ad ottimizzare un solo parametro, non tutti.
Infatti non posso utilizzare un DB ... la mia struttura dati è composta da un campo "chiave" e di n altri campi.

Posso fare operazioni di insert/modify/delete ( e fin qui nessun problema) ma anche operazioni di ricerca per svariati campi (qui ho qualche problema di performance).
Infatti avevo inizialmente scelto un HashMap, ma per ricerche generiche mi devo passare tutta la struttura dati OGNI SANTA VOLTA !!!

Avevo pensato successivamente di tenermi i dati in una struttura ordinati per chiave e delle tabelle "con altri campi chiave" contenenti riferimanti alla stuttura dati.
In base alla richiesta, effettuo la ricerca sulla struttura con l'ordinamento più opportuno.
Questo ottimizza la ricerca ma rallenta (di poco, spero, le operazioni di inserimento, modifica e cancellazione).

Secondo voi sto delirando? :master:
Grazie, Manuel