Comparable和Comparator之对象比较
来源:互联网 发布:mysql 指令大全 编辑:程序博客网 时间:2024/06/05 18:53
创建一个实体类:
package cn.com.comparator;public class Students {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;}}
Comparator实现对象比较
package cn.com.comparator;import java.util.Comparator;public class StudentComparator implements Comparator{public int compare(Object o1, Object o2){int result=0;if(o1!=null&&o2!=null&&o1 instanceof Students && o2 instanceof Students){Students stu1=(Students)o1;Students stu2=(Students)o2; result=stu1.getAge()-stu2.getAge();}else{RuntimeException e=new RuntimeException("对象不存在或者不是Students的类型");throw e;}return result;}}Comparable实现对象比较:package cn.com.comparator;public class StudentComparable 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 int compareTo(Object o){int result=0;if(o!=null&&o instanceof StudentComparable){StudentComparable student=(StudentComparable)o;result=this.age-student.age;}else{RuntimeException e=new RuntimeException("对象不能为空或者不是StudentComparable类型");throw e;}return result;}}编写测试类:package cn.com.comparator;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import java.util.Random;public class StudentTest{public static void test(){List<Students> stuList=new ArrayList<Students>();//List<StudentComparable> stuList2=new ArrayList<StudentComparable>();Random ran=new Random();for(int i=0;i<10;i++){Students stu=new Students();stu.setName("name:"+i);stu.setAge(ran.nextInt(35));stuList.add(stu);}Comparator stuComparator=new StudentComparator();Collections.sort(stuList,stuComparator);//Collections.reverse(stuList);反转顺序,逆转输出//Comparable stuComparable=new StudentComparable();//Collections.sort(stuList2);for(Students stu:stuList){System.out.println(stu.getName()+": "+stu.getAge());}}public static void main(String[] args){test();}}
- Comparable和Comparator之对象比较
- Comparable和Comparator实现对象比较
- 使用Comparable和Comparator接口比较对象
- 比较Comparable和Comparator
- Comparator和Comparable比较
- comparable和comparator比较
- Comparable和Comparator比较
- Comparator 和 Comparable 比较
- Comparator 和 Comparable比较
- Comparator和Comparable比较
- comparable和comparator比较
- Comparable与Comparator之比较
- Comparable和Comparator实例比较
- Comparable和Comparator的比较
- 比较器Comparable和Comparator
- java比较:Comparable和Comparator
- 比较器:Comparable和Comparator
- Comparable和Comparator的比较
- ajax乱码解决2
- 网站设计中涉及到的技术知识 2012-3-2 20:09阅读(6)
- 多线程聊天
- [iOS] ViewController的生命周期及其加载View的步骤
- V4l2 v4l2_field理解
- Comparable和Comparator之对象比较
- 求两个数的阶乘及其组合数
- WIN8首次体验,以及IE10
- JAVA初学者的困惑。。。
- 模块化C代码与UML对象模型之间的映射(1)——类、单例类及实用类
- POSIX 线程详解
- 一种ACM评判内核简易实现 使用C# WEB调用C++编译器的方法
- 用手机对电脑进行远程关机
- 不要为基类或接口创建泛型的特殊实现