[基础回顾-JAVA类集框架篇] 之 集合排序Comparable与Comparator(下)
2009-02-26 15:34
921 查看
同样适用于Collection家族类
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
/**
* 实现比较器类
* @author foxliucong
*
*/
public class TheAgeComparator4List implements Comparator{
/**
* Comparator接口需要是的compare()方法,
*/
public int compare(Object stu1, Object stu2) {
if(!(stu1 instanceof Student2)){
throw new ClassCastException("param type is not Student Class!");
}
if(!(stu2 instanceof Student2)){
throw new ClassCastException("param type is not Student Class!");
}
return ((Student2)stu1).getAge() - ((Student2)stu2).getAge();
}
//=====================Test==================
public static void main(String[] args) {
//同样适用于Collection家族的list
ArrayList list = new ArrayList();
list.add(new Student2(200903,"fox",25));
list.add(new Student2(200901,"sherwin",21));
list.add(new Student2(200902,"oscar",24));
list.add(new Student2(200904,"angela",22));
/**比较方法就使用Collections中的*/
Collections.sort(list,new TheAgeComparator4List());
System.out.println("Order by age:");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
打印结果:
Order by age:
sno:200901|sname:sherwin|age:21
sno:200904|sname:angela|age:22
sno:200902|sname:oscar|age:24
sno:200903|sname:fox|age:25
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
/**
* 实现比较器类
* @author foxliucong
*
*/
public class TheAgeComparator4List implements Comparator{
/**
* Comparator接口需要是的compare()方法,
*/
public int compare(Object stu1, Object stu2) {
if(!(stu1 instanceof Student2)){
throw new ClassCastException("param type is not Student Class!");
}
if(!(stu2 instanceof Student2)){
throw new ClassCastException("param type is not Student Class!");
}
return ((Student2)stu1).getAge() - ((Student2)stu2).getAge();
}
//=====================Test==================
public static void main(String[] args) {
//同样适用于Collection家族的list
ArrayList list = new ArrayList();
list.add(new Student2(200903,"fox",25));
list.add(new Student2(200901,"sherwin",21));
list.add(new Student2(200902,"oscar",24));
list.add(new Student2(200904,"angela",22));
/**比较方法就使用Collections中的*/
Collections.sort(list,new TheAgeComparator4List());
System.out.println("Order by age:");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
打印结果:
Order by age:
sno:200901|sname:sherwin|age:21
sno:200904|sname:angela|age:22
sno:200902|sname:oscar|age:24
sno:200903|sname:fox|age:25
相关文章推荐
- [基础回顾-JAVA类集框架篇] 之 集合排序Comparable与Comparator(中)
- [基础回顾-JAVA类集框架篇] 之 集合排序Comparable与Comparator(上)
- JAVA基础再回首(十七)——Set集合、增强for、HashSet类、LinkedHashSet类、TreeSet类、二叉树、Comparator 排序
- java 集合排序(Comparable、Comparator)
- [基础回顾-JAVA类集框架篇]--JAVA集合框架简要总序
- Java://Comparator、Comparable的用法(按照要求将set集合的数据进行排序输出):
- 黑马程序员一java集合中的排序之comparable和Comparator 的区别
- java集合中对象某属性比较排序Comparable与Comparator
- java集合中对象某属性比较排序Comparable与Comparator
- java中对集合或数组进行排序有两种方法:Comparable 与 Comparator
- 使用Comparable和Comparator对Java集合对象进行排序
- Java集合排序方法comparable和comparator的总结
- Java集合排序方法comparable和comparator的总结
- java集合中对象某属性比较排序Comparable与Comparator
- java集合中对象某属性比较排序Comparable与Comparator
- Java基础回顾之集合
- 【Java基础】Java排序之Comparator接口
- java comparable 和 comparator 排序
- Java基础回顾--jav集合1 集合的分类、解析
- JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序