Ho un semplice file di testo con alcuni dati che non posso cambiare, quindi devo creare una struttura dati da utilizzare nella lettura del file e con quella struttura fare alcune migliaia di interazioni.
Il file segue uno schema definito come questo:
AAAAAA:zz_something sometxt1 sometxt2
AAAAAA:zz_something sometxt1 sometxt2
AAAAAA:zz_someotherthing sometxt1 sometxt2
BBBBBB:zz_something sometxt1 sometxt2
BBBBBB:zz_someotherthing sometxt1 sometxt2
BBBBBB:zz_something sometxt1 sometxt2
CCCCC:zz_others blahblah blehbleh
DDDDD:blihblih blohbloh
EEEEE:bluhbluh
Questo testo è diviso fondamentalmente in tre parti (la maggior parte di esso)
- prima, prima di
:
, sarebbe il mio oggetto1 - secondo, dopo
:
E SE inizia conzz_
, sarebbe il mio oggetto2 - terzo, tutto il resto da quel punto in poi sarebbe un Elenco di stringhe
- per la parte dopo
:
che non inizia conzz_
Userò una stringa predefinita per identificarlo.
All'inizio ho pensato di creare tre oggetti con questa struttura:
obj1 obj2 obj3
String id String id String str1
Set<String> obj2 List<obj3> list String str2
Inoltre un oggetto principale che avrebbe mantenuto un Set<Obj1> main
. Ma quando inizio a implementare questa struttura mi rendo conto che sarebbe molto difficile leggere questo in un ciclo per ottenere qualsiasi elemento al suo interno, come main.get('obj1').get('obj2').list
, perché è un Set
e non posso farlo.
Quindi ho finito per utilizzare una mappa come Map<String, Map<String, List<String>>> main
, ma mi sembra che ci debba essere un modo migliore per farlo.
Quali sarebbero le tue raccomandazioni?