List对象去重和按照某个字段排序的实现方法

发布时间 - 2026-01-11 01:12:28    点击率:

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对象去重和按照某个字段排序的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# list按照某个字段排序  # Java按照List内存储的对象的某个字段进行排序的实例  # Android List(集合)中的对象以某一个字段排序案例  # Java 将list集合数据按照时间字段排序的方法  # Java中List对象集合按对象中某字段进行排序举例  # Java如何根据实体指定字段值对其List进行排序详解  # 给大家  # 希望能  # 自定义  # 这篇  # 小编  # 大家多多  # createDate  # Date  # return  # getId  # int  # private  # String  # id  # setCreateDate  # getCreateDate  # static  # main  # setId  # void 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  网站制作软件有哪些,制图软件有哪些?  Laravel如何配置Horizon来管理队列?(安装和使用)  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  利用 Google AI 进行 YouTube 视频 SEO 描述优化  简单实现Android验证码  Laravel如何处理表单验证?(Requests代码示例)  网页设计与网站制作内容,怎样注册网站?  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  javascript日期怎么处理_如何格式化输出  个人网站制作流程图片大全,个人网站如何注销?  移动端脚本框架Hammer.js  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  简单实现jsp分页  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  Laravel如何处理CORS跨域请求?(配置示例)  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Bootstrap整体框架之JavaScript插件架构  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  大连网站制作公司哪家好一点,大连买房网站哪个好?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  中山网站制作网页,中山新生登记系统登记流程?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  七夕网站制作视频,七夕大促活动怎么报名?  如何在IIS中新建站点并配置端口与物理路径?  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  Swift开发中switch语句值绑定模式  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  简历没回改:利用AI润色让你的文字更专业  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  浅谈redis在项目中的应用  制作公司内部网站有哪些,内网如何建网站?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  高端企业智能建站程序:SEO优化与响应式模板定制开发  西安专业网站制作公司有哪些,陕西省建行官方网站?  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  韩国服务器如何优化跨境访问实现高效连接?