首页 > 其他 > 详细

TreeSet HashSet

时间:2018-05-20 19:52:21      阅读:184      评论:0      收藏:0      [点我收藏+]

TreeSet是一种排序的set,实现了SortedSet接口,它的元素要求实现Comparable接口

private transient NavigableMap<E,Object> m;

private static final Object PRESENT = new Object();

TreeSet(NavigableMap<E,Object> m) {
        this.m = m;
    }

public TreeSet() {
        this(new TreeMap<E,Object>());//默认为TreeMap
    }

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

实际上是基于TreeMap实现的,key存入元素,value存入常量Object对象

 

HashSet和TreeSet几乎一样,区别在于底层是HashMap实现

private transient HashMap<E,Object> map;

private static final Object PRESENT = new Object();

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

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

 

TreeSet HashSet

原文:https://www.cnblogs.com/jiaqirumeng/p/9064255.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!