文章目录
- 前言
- 一、使用stream方式进行去重(需要jdk1.8及以上)
- 二、使用HashSet集合的方式进行去重
前言
工作中很多时候需要用到合并两个List并去除其中的重复内容,这是一个很简单的操作,实现的方法也多种多样。
下面以具体实例展示给大家~
一、使用stream方式进行去重(需要jdk1.8及以上)
String[] arr1 = {"a", "b", "c", "d", "e", "f"};List<String> listA = new ArrayList<>(Arrays.asList(arr1)); String[] arr2 = {"d", "e", "f", "g", "h"};List<String> listB = new ArrayList<>(Arrays.asList(arr2));List<String> collect = Stream.of(listA, listB).flatMap(Collection::stream).distinct().collect(Collectors.toList());
可以很清楚的看出通过Stream完成的代码看上去更加简洁流畅
二、使用HashSet集合的方式进行去重
String[] arr1 = {"a", "b", "c", "d", "e", "f"};List<String> listA = new ArrayList<>(Arrays.asList(arr1));String[] arr2 = {"d", "e", "f", "g", "h"}; List<String> listB = new ArrayList<>(Arrays.asList(arr2));Set<String> set = new HashSet<>(listA);set.addAll(listB);List<String> list = new ArrayList<>(set);System.out.println(list);
这样做后的list就是合并并去重后的结果