1. 程式人生 > >利用HashMap,自己實現一個簡易版的HashSet

利用HashMap,自己實現一個簡易版的HashSet

簡介

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