• 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);
      }
      
     }

  • 相关阅读:
    MyBatis 框架系列之基础初识
    从零开始实现在线直播
    面试中关于Redis的问题看这篇就够了
    Spring Boot 中使用 MyBatis 整合 Druid 多数据源
    MyBatis的foreach语句详解
    小结:“服务器端跳转”和“客户端跳转”的区别
    Centos7.3安装vsftp服务
    Spring 注解@Value详解
    Spring中@Bean与@Configuration
    数据结构之LinkList
  • 原文地址:https://www.cnblogs.com/ly-0919/p/10904520.html
Copyright © 2020-2023  润新知