利用HashMap,自己实现一个简易版的HashSet
2018-02-25 15:15
316 查看
简介
HashSet是常用的容器类,主要特征表现为不可重复性其内部实现主要用到了HashMap,利用了HashMap的键的不可重复性
使用HashMap的键作为其元素,同时令HashMap的所有的value为同一个Object
代码如下
import java.util.HashMap; /** * 自己实现一个简易版的HashSet * * @author ALion * @version 2018/2/25 14:39 */ public class MyHashSet<E> { private HashMap<E,Object> map; private static final Object PRESENT = new Object(); public MyHashSet() { map = new HashMap<>(); } public int size() { return map.size(); } public void add(E e) { map.put(e, PRESENT); } public void remove(E e) { map.remove(e); } }
测试一下
/** * MainTest * * @author ALion * @version 2018/2/25 14:47 */ public class MainTest { public static void main(String[] args) { MyHashSet<String> hashSet = new MyHashSet<>(); hashSet.add("xiaoming"); hashSet.add("xiaoming"); hashSet.add("xiaoming"); System.out.println(hashSet.size()); } }
相关文章推荐
- 根据数组+链表的原理,自己实现一个简易版的HashMap
- 【java集合】自己实现简易的HashMap
- 自己实现一个简单版的HashMap
- 【java集合】自己实现简易的HashMap~改良
- 根据数组的原理,自己实现一个简易版的ArrayList
- sqlite_test自己利用jdbc创建一个关系型数据库 实现增删改查
- C++利用链表模板类实现一个简易队列
- CSS--利用CSS实现一个简易的二级菜单(仿京东)
- 每日一省之————利用数组和链表实现一个简单的HashMap
- 利用Java GUI 实现一个简易的用户管理系统
- 根据链表的原理,自己实现一个简易版的LinkedList
- 自己实现一个简易的SpringMVC
- 自己实现的一个简易Spring框架(IoC+AOP)
- 利用jQuery+localStorage实现一个简易的计时器示例代码
- 合格前端系列第三弹-实现一个属于我们自己的简易MVVM库
- 自己实现一个简易web服务器
- 利用pushState, popState和location.hash等方法自己实现一个小型路由
- JS中自己实现一个HashMap
- 利用typeof实现一个自己的sizeof
- 实现一个简易的IoC框架(上)(此篇与Spring.NET无关,为自己手写IoC框架)