3

各要素に2つの値が必要なリストが必要です。それを実装するための最良の方法は何かを知りたいです。HashSet、または他のものを使用する必要がHashMapありますか?

リストは次のようになります -

<Elem1_val1, Elem1_val2>, <Elem2_val1, Elem2_val2>, <Elem3_val1, Elem3_val2>, .... <Elemn_val1, Elemn_val2>,

ここで重要な点は、val1 と val2 が同じ要素に属していることです。これを実装する良い方法は何でしょうか?

アップデート:

  1. 実装について誰でもコメントできますか -List<Map.Entry<ClassA, ClassB>>
  2. 相互関係を持つ 2 つのオブジェクトを 1 つのリストに格納したいだけなので、新しいクラスは必要ありません。

ありがとう !

4

3 に答える 3

9

最良の方法は、要素としてペアのようなクラスを持つリストを使用することです。

vals のクラスがわからない場合は、次のように宣言します。

List<Pair> list = new ArrayList<Pair>();

オブジェクトのクラスがわかっている場合は、リストを次のように宣言できます。

List<Pair<ClassA, ClassB>> list = new ArrayList<Pair<ClassA, ClassB>>();

一般的な Pair 実装の例を次に示します

于 2012-10-24T19:17:37.060 に答える
8

2 つの要素を持つクラスを作成しList、そのクラスの を作成するのはどうですか

class DataHelper{
  String element1;
  String element2;
}
于 2012-10-24T19:17:13.760 に答える
3

Apache の使用を気にしない場合: 使用することもできます

org.apache.commons.lang3.tuple.ImmutablePair<L, R>

また

org.apache.commons.lang3.tuple.MutablePair<L, R>

これらのクラスの詳細については、 http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/tuple/Pair.htmlを参照してください。

于 2015-08-14T21:02:03.627 に答える