list<list<Integer>ms2=new ArrayList<>();
for(int a=0;a<ms2.size()-1;a++)
{
List<Integer>arr=new ArrayList<Integer>(ms2.get(a));
for( int n=a+1;n<ms2.size();n++)
{
List<Integer>arr1=new ArrayList<Integer>(ms2.get(n));
if(arr.equals(arr1))
{
ms. remove(n);//here ms is the same list as the (ms2)just a copied version.
}
}
}
例如,考虑Java中list的list:[[1,1,1],[23,4,5],[1,1,1]]
。现在,输出:[[23,4,5],[1,1,1]]
。我们该怎么做,知道吗?
以上代码不能用于输入:[[0,0,0,0],[0,0,0,0],[0,0,0,0][0,0,0,0]]
。输出:[[0,0,0,0]]
,但对我来说,它抛出了一个错误。
您可以从列表的列表中构造一个Set
来删除重复项并将其转换回List
(如果需要的话)。
List<List<Integer>> list = List.of(List.of(1,1,1),List.of(23,4,5),List.of(1,1,1));
Set<List<Integer>> set = new LinkedHashSet<>(list); // remove duplicates, preserving order
List<List<Integer>> list2 = new ArrayList<>(set); // convert back to List