java list 对象取出来_java中List对象列表实现去重或取出及排序的方法

前言

因为在面试的时候碰到几次list的去重和排序,觉着有必要给大家总结一下具体的方法,分享出来供大家学习参考,话不多说了,来一起看看下面介绍的一种做法:

一、list去重

1.1 实体类Student

List容量10k以上,要求去重复。这里Student的重复标准是属性相同,因此需要重写equals和hashcode方法,不知道有几个可以手写出来。

student的equals方法:

public void equals(Object o){

if(this == o) retun true;

if(!(o instanceof Student)) return false;

Student stu = (Studend)o;

if(id!=stu.id) return false;

if(age!=stu.age) return false;

return name!=null ? name.equals(stu.name) : stu.name ==null;

}

这里只要记住宗旨是比较Student的属性即可,如果属性相同则相等。先考虑地址相等,然后类型匹配instanceof。接下来是各种属性,int属性直接双等号比较,String类型需要判断是否为null,如果是null则都是null返回true,如果不是null则比较equals。

student的hashcode方法:

public int hashCode(){

int result = id;

你可能感兴趣的:(java,list,对象取出来)