我知道我们可以在比较两个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
中在{{1}}中订购。
答案 0 :(得分:7)
我相信你可以使用Collections.indexOfSublist
来做到这一点。更多信息:http://docs.oracle.com/javase/6/docs/api/java/util/Collections.html
答案 1 :(得分:0)
我猜你必须自己实施。你应该遍历super,如果是super(i).equals(sub2(0))
,请检查下一个项目是否与sub2相同。