思路:首先遍历出list集合内所有相同元素的值,把它们放入set集合中存起来,然后通过list.removeAll()方法全部剔除
/**
* @Author Shaco
* @Date 2020/7/5
*/
public class Test {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
Set<String> set = new HashSet<String>(); //创建一个set集合用于收集重复元素
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
list.add("王五");
list.add("李四");
for (int i = 0; i < list.size(); i++) { //先对元素进行遍历取出各个元素
String str = list.get(i);
for (int j = 0; j < list.size(); j++) { //再比较各个元素
if (j != i) { //不比较元素本身
if (str == list.get(j)) { //查找到相同的元素就添加到set集合中
set.add(str);
}
}
}
}
for (String newStr : set) { //遍历set集合中的元素
list.removeAll(Collections.singleton(newStr)); //通过removeAll全部移除
}
}
}
输出结果:[张三, 赵六]