import java.util.HashMap;
import java.util.Iterator;/*** 自己实现一个HashSet*/
public class MyHashSet {/*** HashSet底层是使用map存储的*/private HashMap<Object, Object> map;/*** map存储所有Value都是DEFAULTOBJECT*/private static final Object DEFAULTOBJECT = new Object();/*** 构造方法*/public MyHashSet() {map = new HashMap<Object, Object>();}/*** 容量大小* @return*/public int size() {return map.size();}/*** 是否为空* @return*/public boolean isEmpty() {return map.isEmpty();}/*** 添加元素* @param o* @return*/public boolean add(Object o) {return map.put(o, DEFAULTOBJECT) == null;}/*** 删除元素* @param o* @return*/public boolean remove(Object o) {return map.remove(o) == DEFAULTOBJECT;}/*** 迭代器* @return*/public Iterator<Object> iterator(){return map.keySet().iterator();}}

030_自己实现一个HashSet相关推荐

  1. 从头开发一个BurpSuite数据收集插件

    一段时间没写公众号了,最近写了个 burpsuite 数据收集的插件,于是想出一篇从头编写一个 burpsuite 插件的教程. ​ 这个插件的目的收集 burpsuite 请求中的数据,如请求中的子 ...

  2. Java集合框架(二)—— HashSet、LinkedHashSet、TreeSet和EnumSet

    Set接口 前面已经简绍过Set集合,它类似于一个罐子,一旦把对象'丢进'Set集合,集合里多个对象之间没有明显的顺序.Set集合与Collection基本上完全一样,它没有提供任何额外的方法. Se ...

  3. HashSet源码解析

    前面我们花了一定的篇幅学习了HashMap的一些底层原理,以及简单了解了HashSet和HashMap两种集合的渊源,现在我们从HashSet源码入手,来学习HashSet更细节的地方. 对于Hash ...

  4. Java学习之容器上(Collection接口常用方法,Iterator接口,使用foreach循环遍历Collection集合元素,Set集合通用知识(Hashset类,hashcode()与Lin

    1.容器API的类图结构如下: JAVA的集合类是一种特别有用的工具类,它可以用于存储数量不等的多个对象,并可以实现常用数据结构,如栈,队列等,除此之外,JAVA集合还可用于保存具有映射关系的关联数组 ...

  5. LeetCode 705. Design HashSet (设计哈希集合)

    题目标签:HashMap 题目让我们设计一个 hashset,有add,contains,remove 功能. 建立一个boolean array,index 是数字的值,具体看code. Java ...

  6. HashSet源码分析 jdk1.6

    Set的特点:Set元素无顺序,且元素不可以重复. 1.定义 public class HashSet<E> extends AbstractSet<E> implements ...

  7. 1.4 Set集合:HashSet和TreeSet类

    Set 集合 无序的,不能包含重复的对象 Set 集合类似于一个罐子,程序可以依次把多个对象"丢进"Set 集合,而 Set 集合通常不能记住元素的添加顺序. 也就是说 Set 集 ...

  8. 转]一个计算机专业学生几年的Java编程经验汇总

    1. 关于动态加载机制?? 学习Java比C++更容易理解OOP的思想,毕竟C++还混合了不少面向过程的成分.很多人都能背出来Java语言的特点,所谓的动态加载机制等等.当然概念往往是先记住而后消化的 ...

  9. java set中元素是数组_将HashSet中的元素转换为Java中的数组

    首先,创建一个HashSet及其元素-HashSet hs = new HashSet(); //将元素添加到哈希集 hs.add("B"); hs.add("A&quo ...

最新文章

  1. Lucene.net中文分词探究
  2. vant 索引城市不对_Vant Area 省市区选择
  3. Python进阶_wxpy学习:用微信监控你的程序
  4. Mysql常用30种SQL查询语句优化方法
  5. 贴片元件的焊接教程!看别人是怎么拖焊的
  6. Java注解全面解析
  7. 同样是面对失败的责任:任春雷比杜一楠更有种
  8. 杭电2571 命运
  9. 监控Linux系统状态的命令
  10. 如何对大数据进行数据分析
  11. 基于Oracle的SQL优化(社区万众期待 数据库优化扛鼎巨著)
  12. 斗鱼tv鸿蒙电视版,斗鱼直播鸿蒙版
  13. QT所有版本和VS插件下载
  14. 掌握这三种方法!Word、PPT、Excel、JPG、PDF之间任你转换
  15. 一篇我觉得不错的文章
  16. Python+Appium实现京东双十一自动领金币
  17. OSPF骨干区域和非骨干区域通信
  18. 使用Python来编写一个简单的感知机
  19. 艾瑞发布《2021 年全球互联网通信云行业研究报告》,融云持续领跑市场
  20. 嵌入式教程:什么是物联网

热门文章

  1. 大数据时代 我们还有隐私吗?
  2. Gartner:2017年应用和基础设施中间件软件市场收入将突破270亿美元
  3. SQL2008R2 Reporting Services 報表產生器 3.0 快速上手
  4. 简易记事本实现与分析(二)辅助类的编写
  5. 我们的2008。。。。。。
  6. 源码编译安装 swoole
  7. DedeCms 5.7后台去除版权及去除广告的方法
  8. 5G时代,MPLS WAN如何发展?-vecloud服务器
  9. sdwan技术发展正蚕食mpls市场—vecloud
  10. 交互输入与for语句