Come posso aggiungere / eliminare / ottenere dati ordinati in modo efficiente in Java?

1

Sto scrivendo un programma di elenchi telefonici e ho bisogno di memorizzare le voci in un file formattato CSV. Tuttavia, ho difficoltà a mantenere le voci in ordine durante l'aggiunta. Stavo considerando di leggere l'intero file su una serie di voci e poi scriverlo di nuovo quando il programma esiste, ma questo sembra inefficiente. C'è un approccio semplice per aggiungere voci a un file ordinato?

    
posta SVN600 07.07.2016 - 17:32
fonte

2 risposte

3

Il tuo primo istinto è corretto: ordina l'intera cosa in memoria, quindi scrivi. L'esecuzione di I / O orientati alla linea per leggere e scrivere il file sarà molto più inefficiente rispetto alla lettura e scrittura in blocco dell'intero file.

    
risposta data 07.07.2016 - 17:41
fonte
0

I miei due centesimi:

  • Non salvare in un file.
  • Salva in una tabella di database SQLite
  • Crea un indice per quella tabella
  • La libreria SQLite mantiene l'indice ordinato e i rapporti sono ordinati anche quando i dati non lo sono.
  • Puoi esportare in modo programmatico su CSV ogni volta che lo desideri.
risposta data 07.07.2016 - 17:43
fonte

Leggi altre domande sui tag