List<Integer> list = new ArrayList<>(1,2,1,3,5);
输出将是[2,3,5]而不是1
答案 0 :(得分:0)
这可以帮到你:
import java.util.ArrayList;
import java.util.Arrays;
public class RemoveDuplicateElement {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(1,2,1,3,5));
ArrayList<Integer> duplicateElementsRemovedList = new ArrayList<Integer>();
for (Integer elementToSearch :list) {
int found=0;
for (Integer element :list) {
if(elementToSearch.equals(element)) {
found++;
}
}
if(found==1)
{
duplicateElementsRemovedList.add(elementToSearch);
}
}
for (Integer element :duplicateElementsRemovedList) {
System.out.println(element);
}
}
}
答案 1 :(得分:-1)
如果你想只有唯一的记录,你可以使用HashSet,但正如你所提到的,你要删除所有重复的元素,你可以使用这个最简单的代码来完成它,你需要做的就是创建一个新的列表,只包含唯一身份并删除重复项。看看
List cleanList = new ArrayList<Integer>();
for(int n=0;n<list.size();n++){
if(!cleanList.contains(list.get(n))){
cleanList.add(list.get(n));
}else{
cleanList.remove(list.get(n));
}
}
cleanList中的结果将是3,5。看看你是否可以使用它或从上面的脚本中获取想法
答案 2 :(得分:-2)
您可以在此处发布问题之前使用Google搜索一次,无论如何请检查link。
无法删除数组的一部分。您有两个选项,要么可以将元素移到左侧,要么创建一个没有重复元素的新数组,并删除旧数组。
这可能会解决您的疑问。