版权声明: https://blog.csdn.net/weixin_40072979/article/details/82967548
HashSet 底层是由 HashMap 实现的,添加的元素将最为 HashMap 中的 key
package com.jianshun;
import java.util.HashMap;
/**
* 手动实现HashSet,更深刻理解HashSet原理
* @author Administrator
*
*/
public class SxtHashSet {
HashMap map;
private static final Object PRESENT = new Object();
private SxtHashSet() {
map = new HashMap();
}
public int size(){
return map.size();
}
public void add(Object o){
map.put(o, PRESENT);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder("[");
for(Object key : map.keySet()){
sb.append(key+",");
}
sb.setCharAt(sb.length()-1, ']');
return sb.toString();
}
public static void main(String[] args) {
SxtHashSet set = new SxtHashSet();
set.add("aa");
set.add("bb");
set.add("cc");
System.out.println(set);
}
}