4.29Java Set接口
2021/4/30 22:25:40
本文主要是介绍4.29Java Set接口,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
4.29Java Set接口
Set接口的特点
-
Set接口继承了Collection接口---有Collection当中的所有方法,没有新增的方法
-
没有顺序、不可重复--->核心要点
-
Set当中没有索引,只能遍历查找数据
-
不允许加入重复的元素,新元素如果和Set中某个元素通过equals方法对比为true,则不可加入
-
Set中只能放入一个null元素,不能多个
-
HashSet和TreeSet使用较多
HashSet的底层源码
特点:
-
HashSet采用哈希算法实现,底层是用HashMap实现
-
查询效率和增删效率都比较高
public class HashSet<E> implements Set<E>,Cloneable,java.io.Serializable{ private transient HashMap<E,Object>map; private static final Object PRESENT = new Obejct(); public HashSet(){ map = new HashMap<E,Object>(); } public boolean add(E e){ return map.put(e,PRESENT) == null; } }
实现排序的关键在于他的add方法当中返回值是刚加入的e元素,然后Value返回的源码里面定义的Object对象
实际上add添加的都是key,HashSet是一个Map
这篇关于4.29Java Set接口的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南
- 2024-09-26Springboot微服务资料入门教程