List對(duì)象去重和按照某個(gè)字段排序的實(shí)現(xiàn)方法
1、List<Object>去重
People類(lèi)
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("錢(qián)"); 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("錢(qián)"); 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對(duì)象去重和按照某個(gè)字段排序的實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Redis Java Lettuce驅(qū)動(dòng)框架原理解析
這篇文章主要介紹了Redis Java Lettuce驅(qū)動(dòng)框架原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12springboot啟動(dòng)報(bào)錯(cuò):application?startup?failed問(wèn)題
這篇文章主要介紹了springboot啟動(dòng)報(bào)錯(cuò):application?startup?failed問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07SpringBoot3整合pageHelper實(shí)現(xiàn)分頁(yè)功能
PageHelper是一個(gè)開(kāi)源的Java分頁(yè)插件,它提供了方便的分頁(yè)查詢(xún)功能,適用于大多數(shù)基于Java的持久層框架(如MyBatis、Hibernate等),本文給大家介紹了springboot3整合pageHelper實(shí)現(xiàn)分頁(yè)功能的方法,需要的朋友可以參考下2024-08-08Java匿名類(lèi)和匿名函數(shù)的概念和寫(xiě)法
匿名函數(shù)寫(xiě)法和匿名類(lèi)寫(xiě)法的前提必須基于函數(shù)式接口匿名函數(shù)寫(xiě)法和匿名類(lèi)寫(xiě)法其本質(zhì)是同一個(gè)東西,只是簡(jiǎn)化寫(xiě)法不同使用Lambda表達(dá)式簡(jiǎn)寫(xiě)匿名函數(shù)時(shí),可以同時(shí)省略實(shí)現(xiàn)類(lèi)名、函數(shù)名,這篇文章主要介紹了Java匿名類(lèi)和匿名函數(shù)的概念和寫(xiě)法,需要的朋友可以參考下2023-06-06Java實(shí)現(xiàn)給圖片添加圖片水印,文字水印及馬賽克的方法示例
這篇文章主要介紹了Java實(shí)現(xiàn)給圖片添加圖片水印,文字水印及馬賽克的方法,涉及java針對(duì)圖片的讀取、水印添加、馬賽克設(shè)置等相關(guān)操作技巧,需要的朋友可以參考下2018-01-01