Java List,每个元素都有2个值

时间:2012-10-24 19:16:28

标签: java

我要求有一个列表,其中每个元素必须有2个值。 我想知道实现它的最佳方法是什么。 我应该使用HashSetHashMap还是其他任何内容?

列表应如下所示 -

<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个有的课程 在一个列表中有一些共同关系。
  3. 谢谢!

3 个答案:

答案 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>>();

这是an example of a generic Pair implementation

答案 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