【发布时间】:2020-05-22 07:05:03
【问题描述】:
给你一个嵌套数组列表,例如: 列表 = [[-1,2,1],[-2,-2,4],[-1,2,-1],[-1,-2,3],[-1,2,-1 ]]
我想要这样的输出: [[-1,2,1],[-2,-2,4],[-1,-2,3]]
但它不太可能与我正在使用的代码一起提供......
for(int i=0;i<list.size();i++){
for(int j=i+1;j<list.size();j++){
if(list.get(i).eqauls(list.get(j)))
{
list.remove(list.get(j));
}
}
}
System.out.println(list);
我已经这样做了,但它没有采取,重复仍然存在 所以我用另一种方式做了这样的事情......
List<List<Integer>> list2= new ArrayList<List<Integer>>();
for(int i=0;i<list.size();i++){
for(int j=i+1;j<list.size();j++){
if(!list.get(i).eqauls(list.get(j)))
{
List<Integer> p= new ArrayList<Integer>();
for(int m=0;m<list.size();m++){
for(int n=0;n<list.get(i).size();n++){
p.add(list.get(i).get(m));
list2.add(p);
}
}
}
System.out.println(list2);
输出:运行时错误 在这种情况下我应该怎么做......只使用数组列表数据结构......
【问题讨论】:
-
你考虑
[-1,2,1]和[-1,2,-1]。需要明确的是,这两个在什么基础上被认为是相同的? -
你的 j 上限好像有误
-
您在问题中写道:输出:运行时错误 也许您可以edit 您的问题并发布您看到的实际错误消息以及堆栈跟踪?我猜这是因为你的这行代码:
List<List<Integer>> list2= new ArrayList<List<Integer>>();我看不到你在哪里填充list2。您正在创建一个空列表。