java 中对象比较大小

java 中对象比较大小  

java 中对象比较大小有两种方法 
1:实现Comparable 接口 的 public int compareTo(T o) 方法; 

2:实现Comparator 接口 的   int compare(T o1, T o2)方法; 

代码如下: 
Java代码   收藏代码
  1. import java.util.ArrayList;  
  2. import java.util.Collections;  
  3. import java.util.Comparator;  
  4. import java.util.List;  
  5. import java.util.Set;  
  6. import java.util.TreeSet;  
  7.   
  8. public class Test {  
  9.     public static void main(String[] args) {  
  10.         List list =new ArrayList();  
  11.         list.add(new Dept("2","研发部",23));  
  12.         list.add(new Dept("2","总公司",575));  
  13.         list.add(new Dept("2","总公司",565));  
  14. //      Collections.sort(list);  
  15.         Collections.sort(list, new Comparator(){  
  16.   
  17.             public int compare(Object arg0, Object arg1) {  
  18.                 // TODO Auto-generated method stub  
  19.                 Dept dept1=(Dept)arg0;  
  20.                 Dept dept2=(Dept)arg1;  
  21.                 return dept1.compareTo(dept2);  
  22.             }  
  23.               
  24.         });  
  25.           
  26.         for (int i=0;i
  27.             System.out.println((Dept)list.get(i));  
  28.         }  
  29.           
  30.           
  31.         Dept dept1=new Dept("2","研发部",23);  
  32.         Dept dept2=new Dept("2","kk",44);  
  33.         Set set=new TreeSet(new Comparator(){  
  34.   
  35.             public int compare(Object arg0, Object arg1) {  
  36.                 // TODO Auto-generated method stub  
  37.                 return 0;  
  38.             }  
  39.               
  40.         });  
  41.         set.add(dept1);  
  42.         set.add(dept2);  
  43.           
  44.       
  45.     }  
  46. }  
  47.   
  48. class Dept implements Comparable{  
  49.     private String id;  
  50.     private String name;  
  51.     private long num;  
  52.     public Dept(String id,String name,long num){  
  53.         this.id=id;  
  54.         this.name=name;  
  55.         this.num=num;  
  56.     }  
  57.     public String getId() {  
  58.         return id;  
  59.     }  
  60.   
  61.     public void setId(String id) {  
  62.         this.id = id;  
  63.     }  
  64.   
  65.     public String getName() {  
  66.         return name;  
  67.     }  
  68.   
  69.     public void setName(String name) {  
  70.         this.name = name;  
  71.     }  
  72.   
  73.     public long getNum() {  
  74.         return num;  
  75.     }  
  76.   
  77.     public void setNum(long num) {  
  78.         this.num = num;  
  79.     }  
  80.   
  81.     public int compareTo(Object arg0) {  
  82.         Dept dept=(Dept) arg0;  
  83.         int i=0;  
  84.         i=this.id.compareTo(dept.id);  
  85.         if(i!=0){//部门id不相等  
  86.             return i;  
  87.         }else{//部门id相等  
  88.             i=this.name.compareTo(dept.name);  
  89.             if(i!=0){//部门名称不相等  
  90.                 return i;  
  91.             }else{//部门名称不相等  
  92.                 if(this.num>dept.num)return 1;  
  93.                 else if(this.numreturn -1;  
  94.                 else return 0;  
  95.             }  
  96.         }  
  97.           
  98.     }  
  99.     public String toString() {  
  100.         // TODO Auto-generated method stub  
  101.         return this.id+"-->"+this.name+"-->"+this.num;  
  102.     }  
  103.   
  104. }  


原文地址: http://blog.csdn.net/aerchi/article/details/7921481

你可能感兴趣的:(Java)