接口 Collection<E>
public interface Collection<E>
extends Iterable<E>
Collection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。
一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无
序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用
来传递 collection,并在需要最大普遍性的地方操作这些 collection。
add(E e)
确保此 collection 包含指定的元素(可选操作)。addAll(Collection<? extends E> c)
将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。clear()
移除此 collection 中的所有元素(可选操作)。
contains(Object o)
如果此 collection 包含指定的元素,则返回 true。
contains(Object o)
如果此 collection 包含指定的元素,则返回 true。
equals(Object o)
比较此 collection 与指定对象是否相等。
hashCode()
返回此 collection 的哈希码值。
isEmpty()
如果此 collection 不包含元素,则返回 true。
iterator()
返回在此 collection 的元素上进行迭代的迭代器。(由父接口继承Iterable<E>)
remove(Object o)
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
removeAll(Collection<?> c)
移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。
retainAll(Collection<?> c)
仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
size()
返回此 collection 中的元素数。
toArray()
返回包含此 collection 中所有元素的数组。
toArray(T[] a)
返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。
接口 List<E>
public interface List<E>
extends Collection<E>
有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。
用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
与 set 不同,列表通常允许重复的元素。更确切地讲,列表通常允许满足 e1.equals(e2) 的元素对 e1
和 e2,并且如果列表本身允许 null 元素的话,通常它们允许多个 null 元素。难免有人希望通过在用户尝
试插入重复元素时抛出运行时异常的方法来禁止重复的列表,但我们希望这种用法越少越好。
父接口实现的方法都有,个别还进行重载。
get(int index)
返回列表中指定位置的元素。
indexOf(Object o)
返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。
lastIndexOf(Object o)
返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1。
listIterator()
返回此列表元素的列表迭代器(按适当顺序)。
listIterator(int index)
返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。
set(int index, E element)
用指定元素替换列表中指定位置的元素(可选操作)。
subList(int fromIndex, int toIndex)
返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。
接口 Set<E>
public interface Set<E>
extends Collection<E>
一个不包含重复元素的 collection。更确切地讲,set 不包含满足e1.equals(e2)
的元素对e1
和e2
,
并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。
在所有构造方法以及 add、equals 和 hashCode 方法的协定上,Set 接口还加入了其他规定,这些规定超出
了从 Collection 接口所继承的内容。出于方便考虑,它还包括了其他继承方法的声明(这些声明的规范已经专门
针对 Set 接口进行了修改,但是没有包含任何其他的规定)。
父接口实现的方法都有,个别还进行重载。
接口 Iterator<E>
public interface Iterator<E>
对 collection 进行迭代的迭代器。迭代器取代了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同:
- 迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的 collection 移除元素。
- 方法名称得到了改进。
hasNext()
如果仍有元素可以迭代,则返回 true。
next()
返回迭代的下一个元素。
remove()
从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。
接口 Map<K,V>
- 类型参数:
-
K
- 此映射所维护的键的类型 -
V
- 映射值的类型 -
将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
clear()
从此映射中移除所有映射关系(可选操作)。containsKey(Object key)
如果此映射包含指定键的映射关系,则返回 true。 -
containsValue(Object value)
如果此映射将一个或多个键映射到指定值,则返回 true。 -
entrySet()
返回此映射中包含的映射关系的Set
视图。 -
equals(Object o)
比较指定的对象与此映射是否相等。 -
get(Object key)
返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回null
。 -
hashCode()
返回此映射的哈希码值。 -
isEmpty()
如果此映射未包含键-值映射关系,则返回 true。 -
keySet()
返回此映射中包含的键的Set
视图。 -
put(K key, V value)
将指定的值与此映射中的指定键关联(可选操作)。 -
putAll(Map<? extends K,? extends V> m)
从指定映射中将所有映射关系复制到此映射中(可选操作)。 -
remove(Object key)
如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。 -
size()
返回此映射中的键-值映射关系数。 -
values()
返回此映射中包含的值的Collection
视图。