030_自己实现一个HashSet
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相关推荐
- 从头开发一个BurpSuite数据收集插件
一段时间没写公众号了,最近写了个 burpsuite 数据收集的插件,于是想出一篇从头编写一个 burpsuite 插件的教程. 这个插件的目的收集 burpsuite 请求中的数据,如请求中的子 ...
- Java集合框架(二)—— HashSet、LinkedHashSet、TreeSet和EnumSet
Set接口 前面已经简绍过Set集合,它类似于一个罐子,一旦把对象'丢进'Set集合,集合里多个对象之间没有明显的顺序.Set集合与Collection基本上完全一样,它没有提供任何额外的方法. Se ...
- HashSet源码解析
前面我们花了一定的篇幅学习了HashMap的一些底层原理,以及简单了解了HashSet和HashMap两种集合的渊源,现在我们从HashSet源码入手,来学习HashSet更细节的地方. 对于Hash ...
- Java学习之容器上(Collection接口常用方法,Iterator接口,使用foreach循环遍历Collection集合元素,Set集合通用知识(Hashset类,hashcode()与Lin
1.容器API的类图结构如下: JAVA的集合类是一种特别有用的工具类,它可以用于存储数量不等的多个对象,并可以实现常用数据结构,如栈,队列等,除此之外,JAVA集合还可用于保存具有映射关系的关联数组 ...
- LeetCode 705. Design HashSet (设计哈希集合)
题目标签:HashMap 题目让我们设计一个 hashset,有add,contains,remove 功能. 建立一个boolean array,index 是数字的值,具体看code. Java ...
- HashSet源码分析 jdk1.6
Set的特点:Set元素无顺序,且元素不可以重复. 1.定义 public class HashSet<E> extends AbstractSet<E> implements ...
- 1.4 Set集合:HashSet和TreeSet类
Set 集合 无序的,不能包含重复的对象 Set 集合类似于一个罐子,程序可以依次把多个对象"丢进"Set 集合,而 Set 集合通常不能记住元素的添加顺序. 也就是说 Set 集 ...
- 转]一个计算机专业学生几年的Java编程经验汇总
1. 关于动态加载机制?? 学习Java比C++更容易理解OOP的思想,毕竟C++还混合了不少面向过程的成分.很多人都能背出来Java语言的特点,所谓的动态加载机制等等.当然概念往往是先记住而后消化的 ...
- java set中元素是数组_将HashSet中的元素转换为Java中的数组
首先,创建一个HashSet及其元素-HashSet hs = new HashSet(); //将元素添加到哈希集 hs.add("B"); hs.add("A&quo ...
最新文章
- Lucene.net中文分词探究
- vant 索引城市不对_Vant Area 省市区选择
- Python进阶_wxpy学习:用微信监控你的程序
- Mysql常用30种SQL查询语句优化方法
- 贴片元件的焊接教程!看别人是怎么拖焊的
- Java注解全面解析
- 同样是面对失败的责任:任春雷比杜一楠更有种
- 杭电2571 命运
- 监控Linux系统状态的命令
- 如何对大数据进行数据分析
- 基于Oracle的SQL优化(社区万众期待 数据库优化扛鼎巨著)
- 斗鱼tv鸿蒙电视版,斗鱼直播鸿蒙版
- QT所有版本和VS插件下载
- 掌握这三种方法!Word、PPT、Excel、JPG、PDF之间任你转换
- 一篇我觉得不错的文章
- Python+Appium实现京东双十一自动领金币
- OSPF骨干区域和非骨干区域通信
- 使用Python来编写一个简单的感知机
- 艾瑞发布《2021 年全球互联网通信云行业研究报告》,融云持续领跑市场
- 嵌入式教程:什么是物联网