|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.util
类 AbstractSet<E>
java.lang.Object java.util.AbstractCollection<E> java.util.AbstractSet<E>
- 所有已实现的接口:
- Iterable<E>, Collection<E>, Set<E>
- 直接已知子类:
- CopyOnWriteArraySet, EnumSet, HashSet, TreeSet
-
public abstract class AbstractSet<E>
- extends AbstractCollection<E>
- implements Set<E>
此类提供 Set 接口的骨干实现,从而最大限度地减少了实现此接口所需的工作。
通过扩展此类来实现一个 set 的过程与通过扩展 AbstractCollection 来实现 Collection 的过程是相同的,除了此类的子类中的所有方法和构造方法都必须服从 Set 接口所强加的额外限制(例如,add 方法必须不允许将一个对象的多个实例添加到一个 set 中)。
注意,此类并没有重写 AbstractCollection 类中的任何实现。它仅仅添加了 equals 和 hashCode 的实现。
此类是 Java Collections Framework 的成员。
- 从以下版本开始:
- 1.2
- 另请参见:
-
Collection
,AbstractCollection
,Set
构造方法摘要 | |
---|---|
protected |
AbstractSet() 单独的构造方法。 |
方法摘要 | |
---|---|
boolean |
equals(Object o) 比较指定对象与此 set 的相等性。 |
int |
hashCode() 返回此 set 的哈希码值。 |
boolean |
removeAll(Collection<?> c) 从此 set 中移除包含在指定 collection 中的所有元素(可选操作)。 |
从类 java.util.AbstractCollection 继承的方法 |
---|
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, toArray, toArray, toString |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
从接口 java.util.Set 继承的方法 |
---|
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, toArray, toArray |
构造方法详细信息 |
---|
AbstractSet
protected AbstractSet()
- 单独的构造方法。(由子类构造方法调用,通常是隐式的。)
方法详细信息 |
---|
equals
public boolean equals(Object o)
-
比较指定对象与此 set 的相等性。如果给定对象也是一个 set,两个 set 的大小相等,并且给定 set 的每个成员都包含在此 set 中,则返回 true。这确保 equals 方法在 Set 接口的不同实现间正常工作。
此实现首先检查指定的对象是否是此 set;如果是,则返回 true。然后,它将检查指定的对象是否是一个大小与此 set 的大小相等的 set;如果不是,则返回 false。如果是,则返回 containsAll((Collection) o)。
-
- 参数:
-
o
- 要与此 set 进行相等性比较的对象。 - 返回:
- 如果指定的对象等于此 set,则返回 true。
- 另请参见:
-
Object.hashCode()
,Hashtable
hashCode
public int hashCode()
-
返回此 set 的哈希码值。set 的哈希码被定义为该 set 中元素的哈希码的总和。这确保了 s1.equals(s2) 意味着对于任何两个 set s1 和 s2,都有 s1.hashCode()==s2.hashCode(),正如 Object.hashCode 的常规协定所要求的。
此实现对 set 进行枚举,在 collection 中的每个元素上调用 hashCode 方法,并合计结果。
-
- 返回:
- 此 set 的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object)
,Hashtable
removeAll
public boolean removeAll(Collection<?> c)
-
从此 set 中移除包含在指定 collection 中的所有元素(可选操作)。
通过在此 set 和指定 collection 上调用 size 方法,此实现可以确定哪一个更小。如果此 set 中的元素更少,则该实现将在此 set 上进行迭代,依次检查迭代器返回的每个元素,查看它是否包含在指定的 collection 中。如果包含它,则使用迭代器的 remove 方法从此 set 中将其移除。如果指定 collection 中的元素更少,则该实现将在指定的 collection 上进行迭代,并使用此 set 的 remove 方法,从此 set 中移除迭代器返回的每个元素。
注意,如果 iterator 方法返回的迭代器没有实现 remove 方法,则此实现抛出 UnsupportedOperationException。
-
- 指定者:
-
接口
Collection<E>
中的removeAll
- 指定者:
-
接口
Set<E>
中的removeAll
- 覆盖:
-
类
AbstractCollection<E>
中的removeAll
-
- 参数:
-
c
- 将从此 set 中移除的元素。 - 返回:
- 如果此 set 随调用的结果而发生改变,则返回 true。
- 抛出:
-
UnsupportedOperationException
- 如果此 set 不支持 removeAll 操作。 -
NullPointerException
- 如果指定的 collection 为 null。 - 另请参见:
-
AbstractCollection.remove(Object)
,AbstractCollection.contains(Object)
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |