集合的排序虽然十分简单,但也是项目中的一大硬题,本篇文章小编就会给大家详细介绍集合的排序,快一起看看吧。
在java中,集合工具类Collections只提供了两种排序方法,下面我们来看下一般被称为自然排序的方法
package test; public class Emp implements Comparable { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Emp() { super(); } public Emp(String name, int age) { super(); this.name = name; this.age = age; } @Override public String toString() { return "Emp [name=" + name + ", age=" + age + "]"; } @Override public int compareTo(Object o) { if (o instanceof Emp) { Emp emp = (Emp) o; // return this.age-emp.getAge();//按照年龄升序排序 return this.name.compareTo(emp.getName()); //换姓名升序排序 } throw new ClassCastException("不能转换为Emp类型的对象..."); } }
除了上面这种,还有一种叫定制排序的方法,或者叫自定义排序也行,这种需要编写匿名内部类,然后new一个Comparator接口的比较器对象cmp,同时实现compare()其方法; 再将比较器对象cmp传到Collections.sort()方法的参数列表中,从而实现排序功能。
以上就是今天的全部内容,如果有小伙伴还有疑问想了解更多java常见问题,可以来我们的官网寻找答案。
推荐阅读: