zoukankan      html  css  js  c++  java
  • TreeSet中的两种排序方式

    package exercise1;
    
    public class Person implements Comparable{
        private int id;
        private String name;
        public Person(int id, String name) {
            super();
            this.id = id;
            this.name = name;
        }
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String toString() {
            return "Person [id=" + id + ", name=" + name + "]";
        }
        public int hashCode() {
            final int prime = 31;
            int result = 1;
            result = prime * result + id;
            result = prime * result + ((name == null) ? 0 : name.hashCode());
            return result;
        }
        public boolean equals(Object obj) {
            if (this == obj)
                return true;
            if (obj == null)
                return false;
            if (getClass() != obj.getClass())
                return false;
            Person other = (Person) obj;
            if (id != other.id)
                return false;
            if (name == null) {
                if (other.name != null)
                    return false;
            } else if (!name.equals(other.name))
                return false;
            return true;
        }
        public int compareTo(Object o) {
            if(o instanceof Person){
                Person p=(Person)o;
                return this.name.compareTo(p.name);
            }
            return 0;
        }
        
    }
    
    
    
    
    
    
    
    
    
    
    
    package exercise1;
    //TreeSet下的自然排序和定制排序
    import java.util.Comparator;
    import java.util.Iterator;
    import java.util.Set;
    import java.util.TreeSet;
    import java.util.function.Function;
    import java.util.function.ToDoubleFunction;
    import java.util.function.ToIntFunction;
    import java.util.function.ToLongFunction;
    
    import org.junit.Test;
    //定制排序
    public class DisOrder {
        @Test
        public void unNature(){
            Comparator com=new Comparator() {
    
                public int compare(Object o1, Object o2) {
                    if(o1 instanceof Person && o2 instanceof Person){
                        Person p1=(Person)o1;
                        Person p2=(Person)o2;
                        return p1.getName().compareTo(p2.getName());
    
                    }
                    return 0;
                }
    
                
            };
            
            Set set=new TreeSet(com);
            set.add(new Person(111,"MM"));
            set.add(new Person(222,"DD"));
            set.add(new Person(333,"GG"));
                
            for(Object obj:set){
                System.out.println(obj);
            }
        }
        //自然排序
        @Test
        public void nature() {
            Set set=new TreeSet();
            set.add("aa");
            set.add("bb");
            set.add("ff");
            set.add("zz");
            for(Object obj:set){
                System.out.println(obj);
            }
                
            
            
        }
    }
  • 相关阅读:
    C#网络编程之Http请求
    使用 pdf.js 在网页中加载 pdf 文件
    程序员转型技术管理,这几本书不能错过
    HTTPS小结 、TSL、SSL
    clipboard 在 vue 项目中,on 事件监听回调多次执行
    Vue 引入 .md 文件,解析markdown语法
    Vue cli4.0 代理配置
    npm publish 一直报错 404
    JSON 多层对象获取键值
    Tomcat8配置Https协议,Tomcat配置Https安全访问,Tomcat Https配置
  • 原文地址:https://www.cnblogs.com/alhh/p/5507909.html
Copyright © 2011-2022 走看看