Java集合框架:Set(HashSet、TreeSet)API

Set相对于List是简单的一种集合,继承了Collection接口,它不保存相同的元素,不能保存基本数据类型(int等)。
Set的实现细节可以参考Map,因为Set的实现类都是对应Map实现类的一种封装(HashSet是对HashMap的封装,TreeSet是对TreeMap的封装)。
HashSet(封装HashMap):
在这里插入图片描述
TreeSet(封装TreeMap):
在这里插入图片描述
Map要储存键、值两个对象,Set只存储一个对象,当往Set集合中添加新元素时,Set会调用Map的put方法,将新元素作为键,在设置一个默认的值。
在这里插入图片描述
在这里插入图片描述

HashSet类底层使用哈希表,按照哈希算法存取集合中的对象元素,存取速度快,存入的元素没有顺序,元素可以为null。
TreeSet类底层使用红黑树,实现了SortedSet接口,会对集合中的对象元素按字典序排序,性能没有HashSet好,元素不可以为null。
⼀般使用HashSet,如果需要排序的功能时,才使用TreeSet。

API:

方法描述
boolean add(E e)在集合中添加新元素,重复值不添加
int size()返回集合中元素数量
boolean remove(Object o)在集合中删除元素o
void clear()清空当前集合
boolean isEmpty()判断集合是否为空
Object clone()复制当前集合,返回复制体
boolean contains(Object o)判断是否有元素o
boolean addAll(Collection<? extends E> c)将c中的所有元素添加到集合中
Object[] toArray()将集合转化为对象数组
< T > T[] toArray(T[] a)将集合转化为指定类型的对象数组
boolean containsAll(Collection<?> c)判断集合中是否有集合c中的全部元素
boolean removeAll(Collection<?> c)删除集合中所有集合c中出现的元素
String toString()将集合转化为字符串
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值