一、HashSet
HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。这是一个继承了于Set的子类方法。超详细的逐句介绍Java高级接口之HashSet底层源码讲解(一)详细介绍Hashset的初始化相关设置。下面我将介绍HashSet的具体的使用方法函数
二、HashSet方法函数
下面方法定义了HashSet的迭代器
public Iterator<E> iterator() {
return map.keySet().iterator();
}
该方法返回map的长度
public int size() {
return map.size();
}
下面方法对map进行判空处理,空位true,不空为false
public boolean isEmpty() {
return map.isEmpty();
}
判断o是否包含在map中
public boolean contains(Object o) {
return map.containsKey(o);
}
在map中追加元素e
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
从map中删除元素e
public boolean remove(Object o) {
return map.remove(o)==PRESENT;
}
清空map里所有元素
public void clear() {
map.clear();
}
将map元素克隆到新的map中
public Object clone() {
try {
HashSet<E> newSet = (HashSet<E>) super.clone();
newSet.map = (HashMap<E, Object>) map.clone();
return newSet;
} catch (CloneNotSupportedException e) {
throw new InternalError(e);
}
}