• 吴裕雄--天生自然java开发常用类库学习笔记:排序及重复元素说明


    import java.util.Set ;
    import java.util.HashSet ;
    class Person{
        private String name ;
        private int age ;
        public Person(String name,int age){
            this.name = name ;
            this.age = age ;
        }
        public String toString(){
            return "姓名:" + this.name + ";年龄:" + this.age ;
        }
    };
    public class RepeatDemo01{
        public static void main(String args[]){
            Set<Person> allSet = new HashSet<Person>() ;
            allSet.add(new Person("张三",30)) ;
            allSet.add(new Person("李四",31)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("赵六",33)) ;
            allSet.add(new Person("孙七",33)) ;
            System.out.println(allSet) ;
        }
    };
    import java.util.Set ;
    import java.util.HashSet ;
    class Person{
        private String name ;
        private int age ;
        public Person(String name,int age){
            this.name = name ;
            this.age = age ;
        }
        public boolean equals(Object obj){    // 覆写equals,完成对象比较
            if(this==obj){
                return true ;
            }
            if(!(obj instanceof Person)){
                return false ;
            }
            Person p = (Person)obj ;    // 向下转型
            if(this.name.equals(p.name)&&this.age==p.age){
                return true ;
            }else{
                return false ;
            }
        }
        public int hashCode(){
            return this.name.hashCode() * this.age    ; // 定义一个公式
        }
        public String toString(){
            return "姓名:" + this.name + ";年龄:" + this.age ;
        }
    };
    public class RepeatDemo02{
        public static void main(String args[]){
            Set<Person> allSet = new HashSet<Person>() ;
            allSet.add(new Person("张三",30)) ;
            allSet.add(new Person("李四",31)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("赵六",33)) ;
            allSet.add(new Person("孙七",33)) ;
            System.out.println(allSet) ;
        }
    };
    import java.util.Set ;
    import java.util.TreeSet ;
    class Person{
        private String name ;
        private int age ;
        public Person(String name,int age){
            this.name = name ;
            this.age = age ;
        }
        public String gtoString(){
            return "姓名:" + this.name + ";年龄:" + this.age ;
        }
    };
    public class TreeSetDemo02{
        public static void main(String args[]){
            Set<Person> allSet = new TreeSet<Person>() ;
            allSet.add(new Person("张三",30)) ;
            allSet.add(new Person("李四",31)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("赵六",33)) ;
            allSet.add(new Person("孙七",33)) ;
            System.out.println(allSet) ;
        }
    };
    import java.util.Set ;
    import java.util.TreeSet ;
    class Person implements Comparable<Person>{
        private String name ;
        private int age ;
        public Person(String name,int age){
            this.name = name ;
            this.age = age ;
        }
        public String toString(){
            return "姓名:" + this.name + ";年龄:" + this.age ;
        }
        public int compareTo(Person per){
            if(this.age>per.age){
                return 1 ;
            }else if(this.age<per.age){
                return -1 ;
            }else{
                return 0 ;
            }
        }
    };
    public class TreeSetDemo03{
        public static void main(String args[]){
            Set<Person> allSet = new TreeSet<Person>() ;
            allSet.add(new Person("张三",30)) ;
            allSet.add(new Person("李四",31)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("赵六",33)) ;
            allSet.add(new Person("孙七",33)) ;
            System.out.println(allSet) ;
        }
    };
    import java.util.Set ;
    import java.util.TreeSet ;
    class Person implements Comparable<Person>{
        private String name ;
        private int age ;
        public Person(String name,int age){
            this.name = name ;
            this.age = age ;
        }
        public String toString(){
            return "姓名:" + this.name + ";年龄:" + this.age ;
        }
        public int compareTo(Person per){
            if(this.age>per.age){
                return 1 ;
            }else if(this.age<per.age){
                return -1 ;
            }else{
                return this.name.compareTo(per.name) ;    // 调用String中的compareTo()方法
            }
        }
    };
    public class TreeSetDemo04{
        public static void main(String args[]){
            Set<Person> allSet = new TreeSet<Person>() ;
            allSet.add(new Person("张三",30)) ;
            allSet.add(new Person("李四",31)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("王五",32)) ;
            allSet.add(new Person("赵六",33)) ;
            allSet.add(new Person("孙七",33)) ;
            System.out.println(allSet) ;
        }
    };
  • 相关阅读:
    Java并发指南3:并发三大问题与volatile关键字,CAS操作
    Java并发指南2:深入理解Java内存模型JMM
    Java并发指南1:并发基础与Java多线程
    Java集合详解8:Java集合类细节精讲,细节决定成败
    Java集合详解7:一文搞清楚HashSet,TreeSet与LinkedHashSet的异同
    Java集合详解6:这次,从头到尾带你解读Java中的红黑树
    IP电话的配置
    孤立账户
    服务器维护知识
    VB学习一
  • 原文地址:https://www.cnblogs.com/tszr/p/12152701.html
Copyright © 2020-2023  润新知