13

3 次元のようなもの (リストやマップなど) が必要で、ループ内に 2 つの文字列と整数を入力します。しかし、残念ながら、どのデータ構造をどのように使用すればよいかわかりません。

// something like a 3-dimensional myData
for (int i = 0; i < 10; i++) {
    myData.add("abc", "def", 123);
}
4

6 に答える 6

20

3 つをまとめてカプセル化するオブジェクトを作成し、それらを配列またはリストに追加します。

public class Foo {
    private String s1;
    private String s2; 
    private int v3;
    // ctors, getters, etc.
}

List<Foo> foos = new ArrayList<Foo>();
for (int i = 0; i < 10; ++i) {
    foos.add(new Foo("abc", "def", 123);
}

データベースに挿入する場合は、DAO クラスを記述します。

public interface FooDao {
    void save(Foo foo);    
}

必要に応じて JDBC を使用して実装します。

于 2012-05-01T15:53:55.260 に答える
5

単純にクラスを作成する

 class Data{
  String first;
  String second;
  int number;
 }
于 2012-05-01T15:53:29.613 に答える
1

答えは、値間の関係によって異なります。

1) 3 つすべてを同じ順序で格納したいだけです。3 つの要素すべてを含むカスタム クラスを作成し、このクラスのインスタンスをList<MyData>.

2) 最初の文字列を 2 番目と 3 番目のデータに関連付ける (そして 2 番目の文字列を int に関連付ける): Map> を作成し、それに要素を追加します (新しい最初のデータごとに内部マップを作成する必要があります)ストリング)

3) 重複を保持したくないが、マップは必要ありません。: カスタム タイプ (a'la 1)) を作成し、それらをSet<MyData>

3) ミックスアンドマッチ

于 2012-05-01T15:58:05.603 に答える