package com.cy.collection;

import java.util.HashMap;

/**
 * HashSet自定义实现
 * 是使用hashMap实现的
 * 可以看一下HashSet的源码,非常简单,就是调用hashMap的实现
 * @author CY
 *
 */
public class HashSet {
    private HashMap map;
    private static final Object PRESENT = new Object();

    public HashSet() {
        map = new HashMap();
    }
    
    /**
     * set的不可重复就是利用了hashMap的键对象不可重复
     * @param o
     */
    public void add(Object o){
        map.put(o, PRESENT);
    }
    
    public boolean remove(Object o) {
        return map.remove(o)==PRESENT;
    }
    
    public int size() {
        return map.size();
    }
}

 

Test.java测试类:

package com.cy.collection;

public class Test {

    public static void main(String[] args) {
        HashSet set = new HashSet();
        set.add("aa");
        set.add(new String("aa"));
        set.add("bb");
        
        System.out.println(set.size());
    }
    
    //输出:2
}

 

相关文章:

  • 2022-02-20
  • 2021-10-05
  • 2022-12-23
  • 2019-08-11
  • 2021-05-03
  • 2021-12-10
  • 2021-06-22
  • 2022-12-23
猜你喜欢
  • 2021-10-19
  • 2022-12-23
  • 2021-06-24
  • 2021-05-16
  • 2021-10-15
  • 2021-12-05
相关资源
相似解决方案