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());
		}
	}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值