package mycollection;
import java.util.HashMap;
/**
- 手动实现一个HashSet,更加深刻的理解HashSet底层原理
- HashSet本质上是简化版的HashMap
- @author
*/
public class TestHashSet {
HashMap map;
private static final Object PRESENT = new Object();
public TestHashSet() {
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();
sb.append("[");
for(Object a:map.keySet()){
sb.append(a+",");
}
sb.setCharAt(sb.length()-1, ']');
return sb.toString();
}
public static void main(String[] args) {
TestHashSet set = new TestHashSet();
set.add("a");
set.add("b");
set.add("c");
set.add("d");
System.out.println(set);
}
}