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对象。

posted @ 2022-01-26 16:42  小白冲  阅读(103)  评论(0编辑  收藏  举报