比较器Comparator与自定义排序
2011-03-18 21:11
369 查看
package com.yin2na.example; import java.util.List; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class SortTest { public static void main(String[] args) { List<Student> list = new ArrayList<Student>(); list.add(new Student("yin2na", 24)); list.add(new Student("susanbear", 22)); list.add(new Student("doing", 20)); list.add(new Student("Jesus", 2011)); System.out.println("原顺序:"); for(Student stu : list) { System.out.println(stu); } System.out.println("默认顺序:"); Collections.sort(list); for(Student stu : list) { System.out.println(stu); } System.out.println("反序:"); Collections.sort(list, Collections.reverseOrder());//Collections.reverseOrder()返回一个比较器Comparator for(Student stu : list) { System.out.println(stu); } System.out.println("自定义顺序:"); Collections.sort(list, new Comparator<Student>(){//匿名内部类 public int compare(Student stu1, Student stu2) { if (stu1.getName().length() > stu2.getName().length()) { return 1; } else if (stu1.getName().length() < stu2.getName().length()) { return -1; } else { return 0; } } }); for(Student stu : list) { System.out.println(stu); } } } class Student implements Comparable<Student> { private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int compareTo(Student stu) { if (this.age > stu.age) { return 1; } else if (this.age < stu.age) { return -1; } else { return 0; } } @Override public String toString() { return name + " is " + age; } }
相关文章推荐
- 使用Comparable、Comparator接口实现对对象数组、List集合自定义排序
- Android记录14--自定义Comparator,实现List按时间排序
- list<T> 自定义比较器进行排序
- 实现比较器接口IComparable<T>,让自定义类型数组也能排序
- Collections之sort的两个方法(自然排序和自定义比较器排序)
- JAVA之旅(二十)—HashSet,自定义存储对象,TreeSet,二叉树,实现Comparator方式排序,TreeSet小练习
- Collections 自定义比较器 Comparator
- java 第八篇 使用comparator实现自定义排序
- 使用Java中Comparator接口实现自定义排序
- Collections之sort的两个方法(自然排序和自定义比较器排序)
- TreeSet 比较器排序 自定义对象
- JAVA之旅(二十)—HashSet,自定义存储对象,TreeSet,二叉树,实现Comparator方式排序,TreeSet小练习
- [javase]自定义泛型比较器 排序
- Java自定义比较器实现中文排序
- C#排序函数和自定义比较器
- 深入理解自定义排序Comparator
- java中利用Comparator接口实现自定义排序技巧。
- Java基础之一组有用的类——使用比较器对数组排序(TrySortingWithComparator)
- sort(List<T> list, Comparator<? super T> c) 根据比较器产生的顺序排序
- 浅谈Java的Comparator接口实现自定义排序Arrays.sort()