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

  • 相关阅读:
    十分钟内学会:控制浏览器是否缓存网页状态
    编写 iPhone Friendly 的 Web 应用程序 (Part 7 多点触击)
    写个 JavaScript 异步调用框架 (Part 4 链式调用)
    拆分自然数:纯while实现 (Part 2 实现)
    诚聘 项目经理 & C++开发高手
    李天平:日常管理随笔一
    诚聘:.Net 软件工程师
    对 Enterprise Library 2.0 进一步封装: DbHelperSQL2
    李天平:无为而治&灯下黑
    累并快乐着!
  • 原文地址:https://www.cnblogs.com/ly-0919/p/10904520.html
Copyright © 2011-2022 走看看