利用HashMap,自己實現一個簡易版的HashSet
阿新 • • 發佈:2018-12-23
簡介
- 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());
}
}