HashSet的自定义实现

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
}
上一篇:PHP 时间与字符串的相互转化


下一篇:Maven入门(含实例教程)