题目:设计并实现一个集合数据结构Set。一个集合中没有重复元素,支持下列运算:
boolean add(E o)
如果 set 中尚未存在指定的元素o,则添加此元素。
boolean addAll(Set c)
如果 set 中没有指定集合c中的所有元素,则将其添加到此 set 中。
void clear()
移除 set 中的所有元素。
boolean contains(E o)
如果 set 包含指定的元素o,则返回 true。
boolean containsAll(Set c)
如果此 set 包含指定集合c中的所有元素,则返回 true。
boolean isEmpty()
如果 set 不包含元素,则返回 true。
boolean remove(E o)
如果 set 中存在指定的元素o,则将其移除。
boolean removeAll(Set c)
移除 set 中那些包含在指定集合c中的元素。
boolean retainAll(Set c)
仅保留 set 中那些包含在集合c中的元素。
Set union(Set c)
返回将当前集合与集合c进行并运算得到的集合。
Set differ(Set c)
返回将当前集合与集合c进行差运算得到的集合。
Set intersection (Set c)
返回将当前集合与集合c进行交并运算得到的集合。
int size()
返回 set 中的元素数(其容量)。
E[] toArray()
返回包含此 set 中所有元素的数组