我有一个列表列表,例如
[[0, 5, 10, -1], [1, 8, 3, 4], [2, 9, 6, 7]]
现在我想搜索上面的列表中是否包含 [8,1,4,3] 我只是想忽略元素的顺序。 我怎样才能做到这一点。 ** 我尝试包含,但当顺序不同时它会失败。
编辑: 我正在使用的代码
for(List<Integer> innerSList : PermutaionS_toDraw)
{int elem_trans = 0;
if(!Final.contains(innerSList))
{
Final.add(PermutaionS_toDraw.get(PermutaionS_toDraw.indexOf(innerSList)));
}
}
最佳答案
迭代所有列表,对于每个列表检查它们的长度与您要比较的列表的长度相同,如果是这样,则调用 containsAll检查它是否包含所有值。
for(List<Integer> innerList : permutaionsToDraw){
int elemTrans = 0;
if(final.size() != innerList.size() || !final.containsAll(innerSList)) {
final.add(permutaionsToDraw.get(permutaionsToDraw.indexOf(innerList)));
}
}
注意
我重命名了您的变量以符合 Java 命名约定
关于java - 检查 "List of Lists"中是否存在特定列表,无论顺序如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45244852/