如何在Java中将对象添加到配对列表中?

时间:2016-11-07 13:41:34

标签: java android

列表类型:

List<Pair<Integer, Pair<Integer, Integer>>> listPairOfPair = null;

我尝试了这些,但它没有用:

listPairOfPair.add(new Pair<Integer, Pair<Integer, Integer>>(1, (2,3));

listPairOfPair.add(new Pair<Integer, Pair<Integer, Integer>>(1, Pair.create(2,3)));

2 个答案:

答案 0 :(得分:3)

让我们去&#34;简单地说#34 ;;等级&#34;等级&#34;事情:

Pair<Integer, Integer> onePair = new Pair<>(1, 2); // assuming that you are using that android class that has this ctor

...创建一对。

Pair<Integer, Pair<Integer, Integer>> pairOfPairs = new Pair<>(3, onePair);

...创建一对整数和之前创建的对。

List<Pair<Integer, Pair<Integer, Integer>>> listOfPairedPairs = new ArrayList<>();
listOfPairedPairs.add(pairOfPairs);

...创建列表并添加一个元素。这可以简化一点,用:

listdOfPairedPairs = Arrays.asList(pairOfPairs, someOtherPair, ...);

当然,您可以编写如下方法:

public Pair<Integer, Pair<Integer, Integer>> of(Integer i1, Integer i2, Integer i3) {
  ... check that uses such code and returns such a paired pair

并使用它:

listdOfPairedPairs = Arrays.asList(of(1,2,3) , of(4,5,6));

但是,当然,如果你真的使用那个android.util Pair实现;然后你最好遵循尼古拉斯的建议。并使用Pair.create()!

答案 1 :(得分:2)

假设您使用android.util.Pair,可以简单地完成下一步:

listPairOfPair.add(new Pair<>(1, new Pair<>(2, 3)));

listPairOfPair.add(Pair.create(1, Pair.create(2, 3)));

NB:确保在Android设备中启动它,否则会出现java.lang.RuntimeException: Stub!

类型的错误