使用迭代器去重
public static void main(String[] args) {
List<String> list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("2");
list.add("4");
list.add("1");
System.out.println(list);
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()){
String next = iterator.next();
//首次出现的位置不等于最后出现的位置 就删除
if (list.indexOf(next) != list.lastIndexOf(next)){
iterator.remove();
}
}
System.out.println(list);
}
输出去除之前和之后的结果:
SET
我们知道 HashSet
天生具备“去重”的特性,那我们只需要将 List 集合转换成 HashSet 集合就可以了
public static void main(String[] args) {
List<String> list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("2");
list.add("4");
list.add("1");
System.out.println(list);
Set<String> set = new HashSet<>();
set.addAll(list);
System.out.println("Set集合:"+set);
list.clear(); // 清空原有元素 放入被list去重后的元素
list.addAll(set);
System.out.println("去重后的List集合:"+list);
}
输出结果: