2016-04-19 19 views
2

JAVAでテーブルとして構造化されたデータを格納する必要があります。列名とデータのほかに、列のデータ型のような異なるメタデータが格納されています。現時点ではこのオブジェクトを使用しています。Javaオブジェクトのテーブルを格納する - データ構造

public class Data { 

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

    //Getter and Setter 

ご覧のとおり、データは列方向に保存されています。時々、特定の列のデータを繰り返し処理する必要があります。時には特定の行以上。私は簡単に列から行のレイアウト(またはその逆)に切り替えることができるstructreを探しています。

どのオブジェクトをお勧めしますか?どのようにして最大のパフォーマンスに到達できますか(レイアウトを変更する反復回数が少ない)?場合によっては、表には100万行以上が含まれています。

答えて

1

ライブラリを使用しても問題がない場合は、Guavaテーブル構造を使用できます。利用可能な構造のいくつかは、TreeBasedTable,,ImmutableTableおよびArrayTableである。最も適したものを選ぶことができます。

+0

ありがとうございましたguavaは私が探していたものでした。これは私のコードを大幅に削減しました。 – Daniel

関連する問題