HashSet的特点:

无序,不可重复。

HashSet实现自Set,而Set继承自Collection,在日常使用中,我们都是以Set引用指向HashSet对象的方式。

所以,Set中的方法是我们主要学习的,而Set中的方法与属性,基本都是Collection里的方法与属性。

主要有以下 :

HashSet的底层分析

HashSet的底层是一个HashMap,这个HashMap的key即是Hash的元素,而对应的value为null。

正因为HashSet的底层死HashMap,HashSet才是无序的。而且是不可重复的(HashMap的键不能重复)。

   private transient HashMap<E,Object> map;

    // Dummy value to associate with an Object in the backing Map
private static final Object PRESENT = new Object(); /**
* Constructs a new, empty set; the backing <tt>HashMap</tt> instance has
* default initial capacity (16) and load factor (0.75).
*/
public HashSet() {
map = new HashMap<>();
}  

最新文章

  1. [.NET Core].NET Core R2安装教程及Hello示例
  2. SpringBoot IntelliJ创建简单的Restful接口
  3. js鼠标滚轮滚动图片切换效果
  4. 互联网时代的社会语言学:基于SNS的文本数据挖掘
  5. Asp.Net MVC ajax调用 .net 类库问题
  6. C++结构简介
  7. ASP.NET WebService
  8. EBS业务学习之应付INVOICE类型
  9. SQL注入简单介绍
  10. PHP 3 函数
  11. IIS配置Url重写实现http自动跳转https的重定向方法(100%解决)
  12. Linux 检查端口gps命令
  13. 是armhf,还是armel?
  14. ML.NET 示例:二元分类之信用卡欺诈检测
  15. 安装elasticsearch-7.0.0及插件
  16. 【TensorFlow】tf.nn.max_pool实现池化操作
  17. HTML css 样式表
  18. .vimrc设置说明
  19. zw版【转发&#183;台湾nvp系列Delphi例程】HALCON FastThreshold2
  20. 蹭你wifi后 我竟然干了这样的事

热门文章

  1. 3.学习SpringMVC注解深入
  2. 简述tcp三次握手
  3. 原生js实现元素类名的判存、添加和移除
  4. C# using 的使用方法
  5. [技术博客]Android 开发 Bug Log
  6. oc界面开发整理
  7. QPS/TPS的预估
  8. 【C++】C++ 左值、右值、右值引用详解
  9. RocketMQ安装部署
  10. ES开启慢查询日志