Java把多个list 合并成一个并去重
- public static void main(String[] args) {
- List<User> list1 = new ArrayList<>();
- User user01 = new User();
- user01.setId(1L);
- user01.setName("Bell");
- list1.add(user01);
- User user02 = new User();
- user02.setId(2L);
- user02.setName("Jack");
- list1.add(user02);
- List<User> list2 = new ArrayList<>();
- User user03 = new User();
- user03.setId(2L);
- user03.setName("Tom");
- list2.add(user03);
- User user04 = new User();
- user04.setId(3L);
- user04.setName("Tao");
- list2.add(user04);
- Map<Long, User> target = new HashMap<Long, User>();
- if (CollectionUtils.isNotEmpty(list1) && CollectionUtils.isNotEmpty(list2)) {
//把list1放入Map target中,key取用户id- for (User tempUser : list1) {
- target.put(tempUser.getId(), tempUser);
- }
- for (User user2 : list2) {
- Long userId = user2.getId();
- if (target.containsKey(userId)) {
- User temp = target.get(userId);
- // 用户id重复,以list2中的用户姓名为准
- temp.setName(user2.getName());
- target.put(userId, temp);
- } else {
- target.put(userId, user2);
- }
- }
- }
- List<User> list = new ArrayList<User>(target.values());
- System.out.println("对象数据类型的list合并并且去重结果====>:" + list);
- }
- /**
- * 基础数据类型的list合并并且去重,业务场景比较简单
- */
- private static void intList() {
- List<Integer> list1 = new ArrayList<Integer>();
- list1.add(1);
- list1.add(2);
- list1.add(3);
- list1.add(4);
- List<Integer> list2 = new ArrayList<Integer>();
- list2.add(1);
- list2.add(4);
- list2.add(7);
- list2.add(10);
- List<Integer> listAll = new ArrayList<Integer>();
- listAll.addAll(list1);
- listAll.addAll(list2);
- // 去重
- listAll = new ArrayList<Integer>(new LinkedHashSet<>(listAll));
- System.out.println("方法一:" + listAll);
- list1.removeAll(list2);
- list1.addAll(list2);
- System.out.println("方法二:" + list1);
- }
Java把多个list 合并成一个并去重的更多相关文章
- java 集合 HashSet 实现随机双色球 HashSet addAll() 实现去重后合并 HashSet对象去重 复写 HashCode()方法和equals方法 ArrayList去重
package com.swift.lianxi; import java.util.HashSet; import java.util.Random; /*训练知识点:HashSet 训练描述 双色 ...
- go语言:多个[]byte数组合并成一个[]byte
场景:在开发中,要将多个[]byte数组合并成一个[]byte,初步实现思路如下: 1.获取多个[]byte长度 2.构造一个二维码数组 3.循环将[]byte拷贝到二维数组中 package gst ...
- MySQL把多个字段合并成一条记录的方法
转:http://www.111cn.net/database/mysql/71591.htm MySQL把多个字段合并成一条记录的方法 在mysql中字段合并可以使用很多函数来实现,如可以利用 GR ...
- wpf dll和exe合并成一个新的exe
原文:wpf dll和exe合并成一个新的exe 微软有一个工具叫ILMerge可以合并dll exe等,但是对于wpf的应用程序而言这个工具就不好用了.我的这方法也是从国外一个博客上找来的.仅供大家 ...
- 将两个列不同的DataTable合并成一个新的DataTable
/// <summary> /// 将两个列不同(结构不同)的DataTable合并成一个新的DataTable /// </summary> ...
- HTML5利用canvas,把多张图合并成一张图片
需求分析,根据当前网页中的几张图片,在手机上长按,保存图片到相册或者发送给好友. drawCanvas(){ var self = this; var imgsrcArray = [ require( ...
- python将两个数组合并成一个数组的两种方法的代码
内容过程中,把写内容过程中常用的内容收藏起来,下面的资料是关于python将两个数组合并成一个数组的两种方法的内容,希望能对小伙伴们有帮助. c1 = ["Red","G ...
- 使用 Java 将多个文件压缩成一个压缩文件
使用 Java 将多个文件压缩成一个压缩文件 一.内容 ①使用 Java 将多个文件打包压缩成一个压缩文件: ②主要使用 java.io 下的类 二.源代码:ZipMultiFile.java pac ...
- SQL SERVER 如何把1列多行数据 合并成一列显示
示例 修改前:1列多行数据 修改后:合并成一列 示例语句 1 2 3 4 5 6 7 8 9 10 11 select 类别, 名称 = ( stuff( ...
随机推荐
- C++ 去掉字符串的首尾空格和全部空格
#include <iostream>#include <string>using namespace std; //去掉收尾空格string& ClearHeadTa ...
- SQL Server2008 删除重复记录只剩一条(无Uid)
INSERT INTO 表1 SELECT * FROM 视图1 CREATE TABLE ##TMP01 ---创建 ...
- AdventureWorks 安装和配置[转自 微软msdn]
AdventureWorks 安装和配置 2018/06/19 适用对象:SQL ServerAzure SQL 数据库Azure SQL 数据仓库并行数据仓库 AdventureWorks 下载链接 ...
- Python3标准库使用样例
原:https://doughellmann.com/blog/the-python-3-standard-library-by-example/the-python-3-standard-libra ...
- 学习笔记之Google
Google Pro Tip: Use Back-of-the-envelope-calculations to Choose the Best Design - High Scalability - ...
- QGroupBox
QGroupBox窗口部件提供了一个有标题的组合框 组合框提供一个框架.一个标题和一个键盘快捷键,并且显示在它里面地其它不同窗口部件.标题在上面,键盘快捷键移动键盘焦点到组合框的一个子窗口部件,并且子 ...
- echart——vue封装成公共组件
<!-- 自定义Echarts * options: Object,//数据 * theme: String,//主题 * initOptions: Object,//初始化 * group: ...
- C# - 常见问题整理
关于循环和try{}..catch{}的嵌套使用 foreach(var item in items) { try { try{ } catch(Exception ex) { throw; // 将 ...
- Dumpsys Alarm查看应用程序唤醒命令
Dumpsys alarm查看应用程序唤醒命令: 在安卓adb root进如命令行后(没有root或者root群组的权限执行不了该命令), 1. <span style="font-s ...
- Linux命令——source
参考:What does 'source' do? 前言 当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如source /etc/profil ...