List对象去重和按照某个字段排序的实现方法
时间:2019-03-30
本文章向大家介绍List对象去重和按照某个字段排序的实现方法,主要包括List对象去重和按照某个字段排序的实现方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1、List<Object>去重
People类
public class People { private int id; private String name; private Date createDate; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } }
main方法
public static void main(String[] args) throws Exception{ List<People> list = new ArrayList<People>(); People p1 = new People(); p1.setId(1); p1.setName("赵"); list.add(p1); People p2 = new People(); p2.setId(2); p2.setName("钱"); list.add(p2); People p3 = new People(); p3.setId(3); p3.setName("孙"); list.add(p3); People p4 = new People(); p4.setId(4); p4.setName("李"); list.add(p4); People p5 = new People(); p5.setId(5); p5.setName("周"); list.add(p5); list.add(p1); for(People p : list){ System.out.println(p); } System.out.println("=========================="); Set<People> set = new HashSet<People>(list); list.clear(); list.addAll(new ArrayList<People>(set)); for(People p : list){ System.out.println(p); } }
2、List<Object>按照日期字段排序
自定义Comparator
public class MyComparator implements Comparator<People> { @Override public int compare(People p1, People p2) { return p1.getCreateDate().compareTo(p2.getCreateDate()); } }
main方法
public static void main(String[] args) throws Exception{ List<People> list = new ArrayList<People>(); People p1 = new People(); p1.setId(1); p1.setName("赵"); p1.setCreateDate(new Date(new Date().getTime() + 1000)); list.add(p1); People p2 = new People(); p2.setId(2); p2.setName("钱"); p2.setCreateDate(new Date(new Date().getTime() + 8000)); list.add(p2); People p3 = new People(); p3.setId(3); p3.setName("孙"); p3.setCreateDate(new Date(new Date().getTime() + 7000)); list.add(p3); People p4 = new People(); p4.setId(4); p4.setName("李"); p4.setCreateDate(new Date(new Date().getTime() + 5000)); list.add(p4); People p5 = new People(); p5.setId(5); p5.setName("周"); p5.setCreateDate(new Date(new Date().getTime() + 6000)); list.add(p5); for(People p : list){ System.out.println(p.getId()); } //1,2,3,4,5 System.out.println("======================="); Collections.sort(list, new MyComparator()); //1,4,5,3,2 for(People p : list){ System.out.println(p.getId()); } }
以上这篇List对象去重和按照某个字段排序的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
- Kafka入门初探+伪集群部署
- Beats数据采集---PacketbeatFilebeatTopbeatWinlogBeat使用指南
- linux NFS网络文件系统
- linux基础命令
- 国外大学自办星际赛事 鼓励学生自制AI来对战
- linux中的重要目录
- Mysql-2-数据库基础
- Shell-4-让文本飞
- Java程序员的日常——存储过程知识普及
- Java程序员的日常—— 基于类的策略模式、List<?>与List、泛型编译警告、同比和环比
- Shell-3-文件之名
- Mybatis文档阅读笔记(明日继续更新...)
- Java程序员的日常——SpringMVC+Mybatis开发流程、推荐系统
- 2017外媒看中国:会让你吃惊的中国自动驾驶
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PyQt5 技术篇-窗口置顶不生效解决办法,setWindowFlags()设置不生效解决办法
- 使用hooks自动监测git仓库更改并拉取
- 重新部署hexo
- 关于前端哈希加密密码的思考
- PyQt5 技术篇-设置下拉框默认值,获取当前选择的内容
- 杜绝重复-ssh-key
- 修改hexo生成的文件链接及图片资源链接
- PyQt5 技术篇-下拉框绑定监听事件
- curl常用命令
- Python 技术篇-文件操控:删除本地文件、文件夹。判断文件、文件夹是否存在方法
- JavaScript 技术篇-js里直接引用jQuery的方法。不依赖html的引用
- golang-buffalo框架
- buffalo-验证规则
- 循环语句
- buffalo助手函数