2016-04-19 2 views
2

Ich muss in JAVA strukturierte Daten als Tabelle speichern. Neben den Spaltennamen und Daten speichere ich verschiedene Metadaten wie den Datentyp der Spalte. Im Moment benutze ich dieses Objekt.Filial-Tabelle im Java-Objekt - Datenstruktur

public class Data { 

    private final Map<String, List<Object>> values; 
    private final Map<String, Integer> columnSpec; 
    private int rowSize; 

    //Getter and Setter 

Wie Sie sehen können, speichere ich die Daten spaltenorientiert. Manchmal muss ich über Daten in einer bestimmten Spalte iterieren. Manchmal über bestimmte Zeilen. Ich bin auf der Suche nach einer Struktur, wo ich leicht von Spalte zu Zeile Layout (oder umgekehrt) wechseln kann.

Welches Objekt schlagen Sie vor? Wie erreiche ich die maximale Leistung (weniger Iteration, um das Layout zu ändern)? Die Tabelle kann in einigen Fällen mehr als 1 Million Zeilen enthalten.

Antwort

1

Wenn die Verwendung einer Bibliothek kein Problem darstellt, können Sie Guava-Tabellenstrukturen verwenden. Einige der verfügbaren Strukturen sind: TreeBasedTable, HashBasedTable, ImmutableTable und ArrayTable. Sie können den am besten geeigneten auswählen.

+0

Dank Guave war genau das, was ich suchte. Das hat meinen Code enorm reduziert. – Daniel