• HashSet和TreeSet


    Set接口

    1.HashSet

    概述

    HashSet实现Set接口,由哈希表支持,它不保证set的迭代顺序,特别是它不保证该顺序永久不变,运行使用null。

    public HashSet() {
       map = new HashMap<>();
    }

     

    add方法

    public boolean add(E e) {
       return map.put(e, PRESENT)==null;
    }

    本质上是将数据保持在 HashMap中 key就是我们添加的内容,value就是我们定义的一个Object对象

    特点

    底层数据结构是哈希表,HashSet的本质是一个"没有重复元素"的集合,他是通过HashMap实现的.HashSet中含有一个HashMap类型的成员变量map.

    2.TreeSet

    概述

    基于TreeMap的 NavigableSet实现。使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator进行排序,具体取决于使用的构造方法。

    public TreeSet() {
       this(new TreeMap<E,Object>());
    }

     

    本质是将数据保存在TreeMap中,key是我们添加的内容,value是定义的一个Object对象。

  • 相关阅读:
    CSUOJ 1081 集训队分组
    HDU 1865 More is Better
    HDU 1325 Is It A Tree?
    HDU 1272 小希的迷宫
    CSUOJ 1217 奇数个的那个数
    CSUOJ 1010 Water Drinking
    CSUOJ 1162 病毒
    CodeForces 295B
    CodeForces 20C
    SPOJ MULTQ3
  • 原文地址:https://www.cnblogs.com/CCTVCHCH/p/15847183.html
Copyright © 2020-2023  润新知