4

我知道我们可以containsAll在比较两者时使用该方法ArrayLists来检查一个是否是另一个的子集。但这就是我想要的。考虑一个

ArrayList super = 1,2,3,4,5,6,7,8,9,10

ArrayList sub1 = 1,2,3,4

和另一个

ArrayList sub2 = 2,4,6,8.

现在,如果我这样做了

super.containsAll(sub1),它将评估为,true因为sub1包含在 中super

如果我这样做了super.containsAll(sub2),它也会评估为,true因为数字 2、4、6 和 8 包含在super.

我想知道是否有办法检查两个ArrayLists以便super.containsAll(sub2)评估为false中的数字sub2不会以相同的顺序出现在super.

4

2 回答 2

7

我相信你可以用它Collections.indexOfSublist来做到这一点。更多信息在这里:http ://docs.oracle.com/javase/6/docs/api/java/util/Collections.html

于 2013-04-03T20:03:00.450 回答
0

我想你必须自己实现它。你应该遍历 super 和 if super(i).equals(sub2(0)),检查接下来的项目是否与 sub2 的相同。

于 2013-04-03T19:58:42.170 回答