zoukankan      html  css  js  c++  java
  • 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);
      }
      
     }

  • 相关阅读:
    总结C# 调用c++ 开源代码使用问题
    nodejs v14使用await async
    一个简单的js文件,在ts中使用的方法
    ts项目+webpack+juuery 插件的引入
    js 立即执行的多种写法
    在webgl2上使用fabric做标记
    comobox 绑定datatable ,无法获取选择值问题
    axios 请求拦截并在 token 过期后自动续订后重调当前请求
    javascript hook 一个函数(不定参数个数)
    java Date 大坑
  • 原文地址:https://www.cnblogs.com/ly-0919/p/10904520.html
Copyright © 2011-2022 走看看