クラスペアを作成
class Pair{
String a
String b
....
///setters and getters
}
今度は b にしましょう。List<Pair>
代わりに呼び出しb.add("{" + a.get(i)+ "," + a.get(j) + "}");
を簡単b.add(new Pair(a.get(i),a.get(j));
に行うことができ、文字列の分割などで遊ぶ必要はありません。ieb.get(0).getA()
またはを実行することで、値に簡単にアクセスできます。b.get(0).get()
メソッドをペアで文字列にオーバーライドすることもできます
public String toString() {
return "{" + a+ "," + b + "}";
}
そのため、これを行うSystem.out.println(a.get(0))
と、以前とまったく同じ出力が得られます
***コメントで言うように、2つ以上の要素のグループが必要な場合は編集して、少し異なるクラスを構築できます
class MyClass{
List<Integer> fields = new ArrayList<Integer>();
//two constructors
MyClass(int singleVal)
{
fields.add(singleVal);
}
MyClass(MyClass a, MyClass b)
{
fields.addAll(a.fields);
fields.addAll(b.fields);
}
//getters setters depends what you need
}
リストは両方とも MyClass のリストになります。リスト a にデータを入力するときは、最初のコンストラクターを使用してオブジェクトを作成します。要素を b リストに追加する場合は、実行できますが、またはb.add(new MyClass(a.(i),a.(j)))
実行することもできます。b.add(new MyClass(a.(i),b.(j)))
b.add(new MyClass(b.(i),b.(j)))