zoukankan      html  css  js  c++  java
  • Set接口

    特点
    import java.util.HashSet;
    import java.util.Set;
    //set集合特点:1.没有索引   2.无序  3.不能存重复元素
    public class Demo01 {
        public static void main(String[] args) {
            Set<String> set=new HashSet<>();
            set.add("hello");
            set.add("hello");
            set.add("hi");
            for(String s:set){
                System.out.println(s);//hi  hello
            }
        }
    }
    Hash表
    import java.util.HashSet;
    import java.util.Set;
    //Hash表  初始容量16  加载因子0.75
    public class Demo03 {
        public static void main(String[] args) {
            Set<String> set=new HashSet<>();
            set.add("a");
            set.add("b");
            set.add("c");
            set.add("c");
        }
    }
    HashSet存储
    public class Person {
        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 Person(){}
        public Person(String name, int age) {
            super();
            this.name = name;
            this.age = age;
        }
        public String toString() {
            return "Person [name=" + name + ", age=" + age + "]";
        }
        //点出来的  //重写hashCode方法
        public int hashCode() {
            final int prime = 31;
            int result = 1;
            result = prime * result + age;
            result = prime * result + ((name == null) ? 0 : name.hashCode());
            return result;
        }
        //重写equals方法
        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 (age != other.age)
                return false;
            if (name == null) {
                if (other.name != null)
                    return false;
            } else if (!name.equals(other.name))
                return false;
            return true;
        }
    }
    
    存储API类型元素
    public class Demo02 {
        public static void main(String[] args) {
            Person p1=new Person();//调用空参
            System.out.println(p1.hashCode());//961
            Person p2=new Person();
            System.out.println(p2.hashCode());//961
            String s1=new String("abc");//构造方法重写
            String s2=new String("abc");
            System.out.println(s1.hashCode());//96354
            System.out.println(s2.hashCode());//96354
        }
    }
    存储自定义类型元素
    import java.util.HashSet;
    import java.util.Set;
    
    public class Demo04 {
        public static void main(String[] args) {
            Set<Person> set=new HashSet<Person>();
            set.add(new Person("a",10));
            set.add(new Person("d",11));
            set.add(new Person("c",12));
            set.add(new Person("c",12));
            for(Person p:set){
                System.out.println(p);//Person [name=a, age=10]
            }                          //Person [name=c, age=12]
        }                              //Person [name=d, age=11]
    }        
    LinkedHashSet
    import java.util.ArrayList;
    import java.util.LinkedHashSet;
    //有序set
    public class Demo05 {
        public static void main(String[] args) {
            LinkedHashSet<String> set=new LinkedHashSet<>();
            set.add("hello");
            set.add("hi");
            set.add("lucky");
            for(String s:set){
                System.out.println(s);
            }
      }
    }
  • 相关阅读:
    Java流程控制语句
    Linux文件过滤及内容编辑处理
    Java运算符优先级
    Java位运算基础知识
    【Linux】【FastDFS】FastDFS安装
    【Linux】【redis】redis安装及开启远程访问
    【Linux】【sonarqube】安装sonarqube7.9
    【Linux】【PostgreSQL】PostgreSQL安装
    【Linux】【maven】maven及maven私服安装
    【Linux】【jenkins】自动化运维七 整合sonarqube代码审查
  • 原文地址:https://www.cnblogs.com/zhaotao11/p/10235573.html
Copyright © 2011-2022 走看看