列表类型:
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)));
答案 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!