• Set的常用实现类HashSet和TreeSet


    Set HashSet

    public static void main(String[] args) {

      //不可以重复  并且是无序的
      //自然排序  从A-Z
      //eqauls从Object继承,默认比较地址
    //  Set<String> set= new HashSet<>();
    //  set.add("zs");
    //  set.add("ls");
    //  set.add("ww");
    //  set.add("qq");
    //  set.add("zs");
    //  System.out.println(set.size());
    //  //遍历
      //迭代器
    //  Iterator<String > it= set.iterator();
    //  while(it.hasNext()) {
    //   System.out.println(it.next());
    //  }
    //  System.out.println("-------------------");
    //  //Foreach
    //  for(String s: set) {
    //   System.out.println(s);
    //  }
      
      //常用实现类  HashSet
      Set<Person> s= new HashSet<>();
       //System.out.println(new Person(1,"ls",18).equals(new Person(1,"zs",18)));
       //System.out.println(new Person(1,"zs",18));
      s.add(new Person(1,"zs",18));
      s.add(new Person(2,"ls",18));
      s.add(new Person(3,"ww",18));
      s.add(new Person(4,"zl",18));
      s.add(new Person(5,"qq",18));
      
      //foreach的底层原理就是迭代器
      for(Person p:s) {
       //默认转换为String的数据类型
       System.out.println(p);
      }
      
     }

    TreeSet

    public static void main(String[] args) {

    //常用实现类  TreeSet :根据某种(规则)对里面的元素进行排序
                     //规则1 :java.lang.Comparable
                     //规则2 :java.util.Comparator
    //  Set<String> set= new TreeSet<>();
    //  set.add("zs");
    //  set.add("ls");
    //  set.add("ww");
    //  set.add("qq");
    //  set.add("zs");
    //  System.out.println(set.size());
    //  

    遍历

    迭代器
    //  Iterator<String > it= set.iterator();
    //  while(it.hasNext()) {
    //   System.out.println(it.next());
    //  }
    //  System.out.println("-------------------");
    //  Foreach
    //  for(String s: set) {
    //   System.out.println(s);
    //  }
      
      //自然排序器
      
    //  Set<Person> s= new TreeSet<>();
    //   //System.out.println(new Person(1,"ls",18).equals(new Person(1,"zs",18)));
    //   //System.out.println(new Person(1,"zs",18));
    //  s.add(new Person(1,"zs",18));
    //  s.add(new Person(2,"ls",18));
    //  s.add(new Person(3,"ww",18));
    //  s.add(new Person(4,"zl",18));
    //  s.add(new Person(5,"qq",18));
    //  
    //  //foreach的底层原理就是迭代器
    //  for(Person p:s) {
    //   //默认转换为String的数据类型
    //   System.out.println(p);
    //  }
      
      // 自定义的排序器(根据年龄排序)
      Set<Person> s= new TreeSet<>(new Age());
       //System.out.println(new Person(1,"ls",18).equals(new Person(1,"zs",18)));
       //System.out.println(new Person(1,"zs",18));
      s.add(new Person(1,"zs",18));
      s.add(new Person(2,"ls",19));
      s.add(new Person(3,"ww",80));
      s.add(new Person(4,"zl",30));
      s.add(new Person(5,"qq",20));

      for(Person p:s) {
       System.out.println(p);
      }
      
     }

  • 相关阅读:
    理解构造器
    if与switch的性能比较
    Java对象的内存(一)
    shell编程_条件判断if
    shell编程_基础&变量
    集群架构篇:Nginx架构演进<拆分数据库 多台web节点共享静态资源>
    集群架构篇:Nginx流行架构LNMP
    集群架构篇:Nginx常用模块
    LInux系统@安装CentOS7虚拟机
    docker pull越来越慢的解决方法
  • 原文地址:https://www.cnblogs.com/ly-0919/p/10904520.html
Copyright © 2020-2023  润新知