list集合的排序Comparator和Collections.sort
Posted 万物为铜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了list集合的排序Comparator和Collections.sort相关的知识,希望对你有一定的参考价值。
一个例子
package sortt; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class HomeWork { public static void main(String[] args) { List<Emp> ems =new ArrayList<Emp>(); ems.add(new Emp("Terry", 25, ‘m‘, 6000)); ems.add(new Emp("Allen", 21, ‘f‘, 4000)); ems.add(new Emp("Smith", 23, ‘m‘, 3000)); System.out.println(ems); //[(Terry,25,m,6000.0), (Allen,21,f,4000.0), (Smith,23,m,3000.0)] Comparator<Emp> com=new Comparator<Emp>(){ //匿名内部类 public int compare(Emp o1, Emp o2) { // TODO Auto-generated method stub return (int) (o1.getSalary()-o2.getSalary()); } }; Collections.sort(ems,com); System.out.println(ems); //[(Smith,23,m,3000.0), (Allen,21,f,4000.0), (Terry,25,m,6000.0)] } }
Emp.java
class Emp{ private String name; private int age; private char gender; private double salary; public Emp(String name, int age, char gender, double salary) { super(); this.name = name; this.age = age; this.gender = gender; this.salary = salary; } 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 char getGender() { return gender; } public void setGender(char gender) { this.gender = gender; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } public String toString(){ return "("+name+","+ age+"," +gender+"," + salary+")"; } }
以上是关于list集合的排序Comparator和Collections.sort的主要内容,如果未能解决你的问题,请参考以下文章
用TreeSet和Comparator给list集合元素去重