我要求有一个列表,其中每个元素必须有2个值。
我想知道实现它的最佳方法是什么。
我应该使用HashSet
,HashMap
还是其他任何内容?
列表应如下所示 -
<Elem1_val1, Elem1_val2>, <Elem2_val1, Elem2_val2>, <Elem3_val1, Elem3_val2>, ....
<Elemn_val1, Elemn_val2>,
这里重点是val1和val2属于同一个元素。 什么是实现这个的好方法?
更新
List<Map.Entry<ClassA, ClassB>>
谢谢!
答案 0 :(得分:8)
如何创建一个包含两个元素的类并创建该类的List
class DataHelper{
String element1;
String element2;
}
答案 1 :(得分:7)
最好的方法是使用类似Pair之类的List作为元素。
如果您不知道val的类,则将其声明为
List<Pair> list = new ArrayList<Pair>();
如果您知道对象的类,则可以将列表声明为
List<Pair<ClassA, ClassB>> list = new ArrayList<Pair<ClassA, ClassB>>();
答案 2 :(得分: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。