zoukankan      html  css  js  c++  java
  • java 中对象比较大小

    java 中对象比较大小 

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

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

    代码如下: 

    import java.util.ArrayList;  
    import java.util.Collections;  
    import java.util.Comparator;  
    import java.util.List;  
    import java.util.Set;  
    import java.util.TreeSet;  
      
    public class Test {  
        public static void main(String[] args) {  
            List list =new ArrayList();  
            list.add(new Dept("2","研发部",23));  
            list.add(new Dept("2","总公司",575));  
            list.add(new Dept("2","总公司",565));  
    //      Collections.sort(list);  
            Collections.sort(list, new Comparator(){  
      
                public int compare(Object arg0, Object arg1) {  
                    // TODO Auto-generated method stub  
                    Dept dept1=(Dept)arg0;  
                    Dept dept2=(Dept)arg1;  
                    return dept1.compareTo(dept2);  
                }  
                  
            });  
              
            for (int i=0;i<list.size();i++){  
                System.out.println((Dept)list.get(i));  
            }  
              
              
            Dept dept1=new Dept("2","研发部",23);  
            Dept dept2=new Dept("2","kk",44);  
            Set set=new TreeSet(new Comparator(){  
      
                public int compare(Object arg0, Object arg1) {  
                    // TODO Auto-generated method stub  
                    return 0;  
                }  
                  
            });  
            set.add(dept1);  
            set.add(dept2);  
              
          
        }  
    }  
      
    class Dept implements Comparable{  
        private String id;  
        private String name;  
        private long num;  
        public Dept(String id,String name,long num){  
            this.id=id;  
            this.name=name;  
            this.num=num;  
        }  
        public String getId() {  
            return id;  
        }  
      
        public void setId(String id) {  
            this.id = id;  
        }  
      
        public String getName() {  
            return name;  
        }  
      
        public void setName(String name) {  
            this.name = name;  
        }  
      
        public long getNum() {  
            return num;  
        }  
      
        public void setNum(long num) {  
            this.num = num;  
        }  
      
        public int compareTo(Object arg0) {  
            Dept dept=(Dept) arg0;  
            int i=0;  
            i=this.id.compareTo(dept.id);  
            if(i!=0){//部门id不相等  
                return i;  
            }else{//部门id相等  
                i=this.name.compareTo(dept.name);  
                if(i!=0){//部门名称不相等  
                    return i;  
                }else{//部门名称不相等  
                    if(this.num>dept.num)return 1;  
                    else if(this.num<dept.num)return -1;  
                    else return 0;  
                }  
            }  
              
        }  
        public String toString() {  
            // TODO Auto-generated method stub  
            return this.id+"-->"+this.name+"-->"+this.num;  
        }  
      
    }
  • 相关阅读:
    Scrapy 概览笔记
    Python 依赖版本控制 (requirements.txt 文件生成和使用)
    Python 虚拟空间的使用
    macOS 所有版本 JDK 安装指南 (with Homebrew)
    鉴权那些事
    Java 位运算符和 int 类型的实现
    ASP.NET Core 入门教程 5、ASP.NET Core MVC 视图传值入门
    如何做好一次知识或技术分享
    ASP.NET Core 入门教程 4、ASP.NET Core MVC控制器入门
    ASP.NET Core 入门教程 3、ASP.NET Core MVC路由入门
  • 原文地址:https://www.cnblogs.com/xu-xiao/p/6019253.html
Copyright © 2011-2022 走看看