首页 > 其他 > 详细

HashSet的自定义实现

时间:2018-06-19 23:11:01      阅读:240      评论:0      收藏:0      [点我收藏+]
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
}

 

HashSet的自定义实现

原文:https://www.cnblogs.com/tenWood/p/9201592.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!