您的位置:首页 > 其它

利用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());
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: