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

这篇具有很好参考价值的文章主要介绍了【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就是合并并去重后的结果文章来源地址https://www.toymoban.com/news/detail-516316.html

到了这里,关于【Java】Java合并两个List后并去掉重复项的几种做法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Leetcode -21.合并两个有序链表 -83.删除排序链表中的重复元素】

    题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 = [1, 2, 4], l2 = [1, 3, 4] 输出:[1, 1, 2, 3, 4, 4] 示例 2: 输入:l1 = [], l2 = [] 输出:[] 示例 3: 输入:l1 = [], l2 = [0] 输出:[0] 我们的思路是,先定义

    2023年04月24日
    浏览(49)
  • Stream流 - 两个list集合对象属性的合并、对象属性值运算

    📅 合并两个 list<map>, 并将 userId 相同的所有属性合并到一个 map 中 list1中对象的属性:userId、userName list2中对象的属性:userId、gender、age 📌 最终总集合中对象的属性:userId、userName、gender、age 运行结果: 结果可见,userId 相同的所有属性合并到集合 list1中。 📅 合并两个

    2024年02月06日
    浏览(132)
  • 图灵日记之Leetcode删除有序数组中的重复项&&合并两个有序数组&&移除链表元素

    给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过

    2024年02月04日
    浏览(58)
  • java 判断两个List是否包含 判断两个list相等

    java 判断两个List是否包含 判断两个list相等 https://blog.51cto.com/u_12855/7333853 1、直接使用equals()比较 众所周知,两个列表具有完全相同的元素并且具有完全相同的顺序时,它们是相等的。因此, 如果我们业务要求两个list顺序一致,可以使用equals()方法进行相等性检查: 即使

    2024年02月04日
    浏览(67)
  • 2.(1)将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来的两个链表的存储空间,不另外占用其他的存储空间。表中不允许有重复的数据

    代码实现的思路: 因为要将两个有序单链表合并为一个递增的有序单链表,所以我们建立了三个单链表La,Lb,Lc,但是要求结果链表仍然使用原来两个链表的存储空间,所以我们用La的头结点作为Lc的头结点,这样直接操作单链表后,输出La单链表和Lc单链表结果是一样的。然

    2024年02月06日
    浏览(47)
  • java 合并两个Map

    在开发中,有时需要将多个Map合并成一个Map,接下来就举例说明: 我的使用场景:以map2中已经存在的key的值为准 把需要的字段从一个Map中一个个set到另一个Map中 输出结果为: 这个结果不是我想要的! putAll() 方法 输出结果为: 这个结果不是我想要的! 通过java8的方式 输出

    2024年02月11日
    浏览(51)
  • Java中,合并两个Map

    在Java中,合并两个Map可以使用putAll()方法,但是默认情况下,如果被合并的Map中有null值,它们会被丢弃。 如果想要保留null值,可以使用下面的代码: 这里将两个Map合并成一个新的Map,如果被合并的Map中的value有null,会被保留在新的Map中。 示例: 输出结果中,被合并的Map中

    2024年02月11日
    浏览(51)
  • 数据结构2.2,将两个非递减的有序链表合并为一个非递增的有序链表,要求结果链表仍使用原来两个链表的存储空间,不占用其他的存储空间。表中允许有重复的数据。

    大概思路:1.先写出建立链表的函数(creatlist):分配头节点,尾指针置空。 2.写出插入节点的代码函数:申请一片空间存放要插入的节点,把新插入的节点置空,令指向链表的头节点的下一个指针指向该节点,在把该指针指向新插入的节点。用if函数写出当输入的指小于零时

    2024年02月05日
    浏览(45)
  • Matlab | 找出数组/向量中的重复项的索引

    输入一个数组,里面含有重复项,想要将其重复的项的序号指示出来。 unique()函数可以去除数组的重复项,并且返回索引。我们可以利用这个返回的索引,进而找出原数组中重复出现的位置。 贴了两份代码,第一份输出形式数组,第二份输出形式是元胞。

    2024年02月11日
    浏览(57)
  • Java 多个List合并

    多个同类型集合合并,可以使用可变参数,定义一个专门的方法,参考代码如下: 参考代码运行结果如下:

    2024年02月15日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包