package com.mj.set; import com.mj.map.Map; import com.mj.map.TreeMap; public class TreeSet implements Set { Map map = new TreeMap<>(); @Override public int size() { return map.size(); } @Override public boolean isEmpty() { return map.isEmpty(); } @Override public void clear() { map.clear(); } @Override public boolean contains(E element) { return map.containsKey(element); } @Override public void add(E element) { map.put(element, null); } @Override public void remove(E element) { map.remove(element); } @Override public void traversal(Visitor visitor) { map.traversal(new Map.Visitor() { public boolean visit(E key, Object value) { return visitor.visit(key); } }); } }