/**
* 第一种方法使用Stream去重
*/
List list = new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("张三");
list.add("王五");
list.add("刘四");
list.add("六强");
list.add("李四");
list.add("张三");
list.add("六强");
list.add("王五");
list.add("张三");
System.out.println(list);
list = (List) list.stream().distinct().collect(Collectors.toList());
System.out.println(list);
结果:
[张三, 李四, 张三, 王五, 刘四, 六强, 李四, 张三, 六强, 王五, 张三]
[张三, 李四, 王五, 刘四, 六强]
/**
* 第二种方法 使用set去重
*/
List list0 = new ArrayList<>();
list0.add("张三");
list0.add("李四");
list0.add("张三");
list0.add("周一");
list0.add("刘四");
list0.add("李强");
list0.add("李白");
list0.add("张三");
list0.add("李强");
list0.add("王五");
list0.add("张三");
System.out.println(list0);
//HashSet 无序
List list1 = new ArrayList<>(new HashSet(list0));
System.out.println(list1);
//LinkedHashSet 保证顺序性
List list2 = new ArrayList<>(new LinkedHashSet(list0));
System.out.println(list2);
结果
[张三, 李四, 张三, 周一, 刘四, 李强, 李白, 张三, 李强, 王五, 张三]
[李强, 李四, 张三, 周一, 李白, 王五, 刘四]
[张三, 李四, 周一, 刘四, 李强, 李白, 王五]