Java List<T>去重方法,引用类型集合去重
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。
一、实体类中要重写比较方法equals,最好也重写hashcode方法
public class WorkWeightDto implements Serializable {private static final long serialVersionUID = 8245791221237374426L;// @Id 没有加id自增长策略 会影响到别的实体数据插入。private String id;private String projectId; // 项目Idprivate String projectName; // 项目 private String startTime; // 开始时间private String endTime; // 结束时间 private String managerId; // 负责人Idpublic WorkWeightDto() {}public WorkWeightDto(String id, String projectId, String startTime) {this.id = id;this.projectId = projectId;this.startTime = startTime;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;WorkWeightDto ww = (WorkWeightDto) o;if (id.equals(ww.getId()) && projectId.equals(ww.getProjectId()) && startTime.equals(ww.getStartTime())){return true;}return false;}@Overridepublic int hashCode() {return id.hashCode() + projectId.hashCode()+startTime.hashCode();}
二、去重方法实现
private List<WorkWeightDto> deleteSame(List<WorkWeightDto> dtoList){Iterator<WorkWeightDto> it = dtoList.iterator();WorkWeightDto next =null;List<WorkWeightDto> newList = new ArrayList<WorkWeightDto>();while(it.hasNext()){next = it.next();if(!newList.contains(next)){newList.add(next);}}return newList;}
三、其它方法参见:集合去重方法A 、 集合去重方法B
Java List<T>去重方法,引用类型集合去重相关推荐
- java中给对象的List集合去重的几种方法(Lambda)
java中给对象的List集合去重的几种方法 前言 一.lambda表达式的去重方式 二.Stream API中的collect去重方法 三.Stream API 中的distinct方法去重 前言 ...
- python list去重时间复杂度_List集合去重的一种方法 z
需要对一个List集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据. 在这种情况下,需求要只保留其中一个就好. 我觉得遍历和HashSet都不是我想要的,便采用了一下方 ...
- c#对象集合去重_C# List集合去重操作注意点
今天调试代码时发现list的distinct方法在对引用类型操作时并没有去重,后来查阅资料发现list去重操作对象集合时比较的是对象的一个个引用地址, 因为集合里的对象都是一个个单独的实例,所以并不会 ...
- java数组最简单的去重方法_Java数组去重的方法
//第一种方式:最开始想到的是利用Set集合的不可重复性进行元素过滤 public static Object[] oneClear(Object[] arr){ Set set = new Hash ...
- 视频去重方法批量处理去重消重去水印去logo软
今日头条自媒体运营推广视频教程学习资料短视频运营从零到精通 今日头条趣东方头条凤凰新浪看点网易企鹅UC大鱼一点资讯自媒体快传视频处理软件 今日头条推广视频教程自媒体推广短视频教程今日头条引流小白入门 ...
- python数据库去重_python redis连接 有序集合去重的代码
python redis连接 有序集合去重的代码如下所述: # -*- coding: utf-8 -*- import redis from constant import redis_ip, re ...
- 20 个超级使用的 Java 8 Stream,玩转集合的筛选、归约、分组、聚合
先贴上几个案例,水平高超的同学可以挑战一下: 1. 从员工集合中筛选出salary大于8000的员工,并放置到新的集合里. 2. 统计员工的最高薪资.平均薪资.薪资之和. 3. 将员工按薪资从高到低排 ...
- List 集合去重的 3 种方法
问题由来 在实际开发的时候,我们经常会碰到这么一个困难:一个集合容器里面有很多重复的对象,里面的对象没有主键,但是根据业务的需求,实际上我们需要根据条件筛选出没有重复的对象. 比较暴力的方法,就是根据 ...
- Java List去重 Lis集合去重 List去重效率对比 List去重复元素效率对比 List去重效率
Java List去重 Lis集合去重 List去重效率对比 List去重复元素效率对比 List去重效率 --- List 去重复元素的几种办法 一.概述 面试的时候,有个常见的问题:" ...
最新文章
- SSAS系列——【03】多维数据(多维数据集对象)
- 两台服务器虚拟成一个ip地址,两台服务器如何用一个ip地址
- prd展示html文件,prd目的.html
- 如何在win10搜索计算机,如何在win10电脑的任务栏搜索框中添加地址?
- MySQL Innodb数据库性能实践——VARCHAR vs CHAR
- 对未登陆的用户进行处理的页面
- VS2012 单元测试之泛型类(Generics Unit Test)
- 7.Django|分页器
- 微信小程序登录 php后台
- 数值分析常见基本算法及MATLAB代码总结
- 环境变量配置为jdk8,却显示java版本为jdk7
- 路飞学城python电子书闲鱼_路飞学城-python开发集训-第一章之用户登陆做业
- 简单的收支记账软件的实现详细解释(不连接数据库)
- MySql中的minus用法
- JavaScript交互式网页设计简介
- c语言创建临时文件,5.19 创建临时文件和文件夹
- JS实现关闭当前子窗口,刷新父窗口及调用父窗口的方法
- 2022-2028年中国水利工程行业市场行情动态及发展趋向分析报告
- jperf(jperf使用手册)
- 浏览器插件开发框架FireBreath的使用--linux版本
热门文章
- 百度云cdn设置州五年制大专_图说云原生:让云原生转型变得像种白菜一样简单...
- python yield 简单用法_通过实例简单了解python yield使用方法
- 【经验】Qt项目开发必备工具
- 与gps优缺点_长缨在手,敢缚苍龙,中国北斗三号圆满收官,相比美国GPS怎样?...
- 【HDU - 5091】Beam Cannon(线段树,扫描线)
- 【POJ - 1182】 食物链(附超详细讲解)(并查集--种类并查集经典题)
- ANSI X9.19 MAC算法介绍
- 中原标准时间对时_GPS对时系统(时间同步系统)应用电子政务
- ios 旋转屏幕试图切换_iOS增强现实应用(AR)设计指南(上)
- git切换用户密码_Java小白入门,常用Git命令有哪些?