3

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

该列表应如下所示 -

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

这里重要的一点是 val1 和 val2 属于同一个 Element。什么是实现这一点的好方法?

更新:

  1. 任何人都可以评论实施 -List<Map.Entry<ClassA, ClassB>>
  2. 我不想有新的类,因为我只想在一个列表中存储 2 个具有某种共同关系的对象。

谢谢 !

4

3 回答 3

9

最好的方法是使用具有Pair之类的类的 List作为元素。

如果您不知道您的 val 的类,您可以将其声明为

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

如果您知道对象的类,则可以将列表声明为

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

是通用 Pair 实现的示例

于 2012-10-24T19:17:37.060 回答
8

如何创建一个具有两个元素的类并创建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 回答