【Java】Java合并两个List后并去掉重复项的几种做法

前言

工作中很多时候需要用到合并两个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就是合并并去重后的结果

猜你喜欢

转载自blog.csdn.net/u011397981/article/details/131429081