Collection
is the root of the collection hierarchy. It defines operations on data collections and the behavior that they will have in all implementations of Collection
s. All direct or indirect implementations of Collection
should implement at least two constructors. One with no parameters which creates an empty collection and one with a parameter of type Collection
. This second constructor can be used to create a collection of different type as the initial collection but with the same elements. Implementations of Collection
cannot be forced to implement these two constructors but at least all implementations under java.util
do. Methods that change the content of a collection throw an UnsupportedOperationException
if the underlying collection does not support that operation, though it's not mandatory to throw such an Exception
in cases where the requested operation would not change the collection. In these cases it's up to the implementation whether it throws an UnsupportedOperationException
or not. Methods marked with (optional) can throw an UnsupportedOperationException
if the underlying collection doesn't support that method.
collection 是collection体系中的根接口,它定义了所有实现该接口的类的数据集合的操作和行为。所有直接或者间接实现该接口的类应该实现至少两个构造函数。一个无参的函数用来创建一个空的collection,一个函数接收一个类型参数。第二个函数可以创建一个collection用来存储与参数声明的类型一致的数据。collection的实现类不强制要求必须实现这两个构造函数,但是java.util包里的实现类都这样做了。改变collection内容的操作可能导致UnsupportedOperationException异常,如果collection底层不支持这种操作的话。在请求的操作不会如预期一样改变collection的时候,它不会强制是否抛出一个异常。在这些情况下,由实现类决定是否抛出UnsupportedOperationException异常。带(optional)标记的函数是可选择实现的方法,可能由于未实现而导致UnsupportedOperationException异常。
collection接口继承iterable接口。iterable接口实现类可以进行增强for循环。
publicinterface Iterable
/**
* Returns an {@link Iterator} for the elements in this object.
*
* @return An {@code Iterator} instance.
*/
Iterator
}
collection方法概述:
Attempts to add object
to the contents of this Collection
(optional). After this method finishes successfully it is guaranteed that the object is contained in the collection. If the collection was modified it returns true
, false
if no changes were made. An implementation of Collection
may narrow the set of accepted objects, but it has to specify this in the documentation. If the object to be added does not meet this restriction, then an IllegalArgumentException
is thrown. If a collection does not yet contain an object that is to be added and adding the object fails, this method must throw an appropriate unchecked Exception. Returning false is not permitted in this case because it would violate the postcondition that the element will be part of the collection after this method finishes.
该方法尝试将对象加入collection中。该方法成功调用结束后将会保证被添加的对象包含在collection中。如果collection被修改了,该方法将会反悔true,如果collection没有变化,将会返回false。collection的实现类可能会限制可以接收的对象的范围,但是必须在文档中申明。如果被添加的对象不符合限制要求的话,就会抛出IllegalArgumentException异常。如果一个collection没有包含要被添加的对象,而且添加该对象失败了,那么必须抛出 appropriate unchecked Exception异常。这种情况下不被允许返回false,因为它可能会破坏后来的结果-方法结束后该对象成为了collection的一部分。
object | the object to add. |
---|
true
if this Collection
is modified, false
otherwise.UnsupportedOperationException | if adding to this Collection is not supported. |
---|---|
ClassCastException | if the class of the object is inappropriate for this collection. |
IllegalArgumentException | if the object cannot be added to this Collection . |
NullPointerException | if null elements cannot be added to the Collection . |
Attempts to add all of the objects contained in Collection
to the contents of this Collection
(optional). If the passed Collection
is changed during the process of adding elements to this Collection
, the behavior is not defined.
该方法将尝试把另外一个collection中包含的所有对象添加到此collection中。如果在此过程中,被添加的collection发生了改变,这种情形没有做出定义。(保证在此过程中被添加的collection未被改变。)
Parameters
collection | the Collection of objects. |
---|
true
if this Collection
is modified, false
otherwise.UnsupportedOperationException | if adding to this Collection is not supported. |
---|---|
ClassCastException | if the class of an object is inappropriate for this Collection . |
IllegalArgumentException | if an object cannot be added to this Collection . |
NullPointerException | if collection is null , or if it contains null elements and this Collection does not support such elements. |
Removes all elements from this Collection
, leaving it empty (optional).
UnsupportedOperationException | if removing from this Collection is not supported. |
---|
isEmpty()
size()
Tests whether this Collection
contains the specified object. Returns true
if and only if at least one element elem
in this Collection
meets following requirement:(object==null ? elem==null : object.equals(elem))
.
object | the object to search for. |
---|
true
if object is an element of this Collection
, false
otherwise.ClassCastException | if the object to look for isn't of the correct type. |
---|---|
NullPointerException | if the object to look for is null and this Collection doesn't support null elements. |
Tests whether this Collection
contains all objects contained in the specified Collection
. If an element elem
is contained several times in the specified Collection
, the method returns true
even if elem
is contained only once in this Collection
.
collection | the collection of objects. |
---|
true
if all objects in the specified Collection
are elements of this Collection
, false
otherwise.ClassCastException | if one or more elements of collection isn't of the correct type. |
---|---|
NullPointerException | if collection contains at least one null element and this Collection doesn't support null elements. |
NullPointerException | if collection is null . |
Compares the argument to the receiver, and returns true if they represent the same object using a class specific comparison.
object | the object to compare with this object. |
---|
true
if the object is the same as this object and false
if it is different from this object.hashCode()
Returns an integer hash code for the receiver. Objects which are equal return the same value for this method.
equals(Object)
Returns if this Collection
contains no elements.
true
if this Collection
has no elements, false
otherwise.size()
Returns an instance of Iterator
that may be used to access the objects contained by this Collection
. The order in which the elements are returned by the iterator is not defined. Only if the instance of the Collection
has a defined order the elements are returned in that order.
Collection
contents.Removes one instance of the specified object from this Collection
if one is contained (optional). The element elem
that is removed complies with (object==null ? elem==null : object.equals(elem)
.
object | the object to remove. |
---|
true
if this Collection
is modified, false
otherwise.UnsupportedOperationException | if removing from this Collection is not supported. |
---|---|
ClassCastException | if the object passed is not of the correct type. |
NullPointerException | if object is null and this Collection doesn't support null elements. |
Removes all occurrences in this Collection
of each object in the specified Collection
(optional). After this method returns none of the elements in the passedCollection
can be found in this Collection
anymore.
collection | the collection of objects to remove. |
---|
true
if this Collection
is modified, false
otherwise.UnsupportedOperationException | if removing from this Collection is not supported. |
---|---|
ClassCastException | if one or more elements of collection isn't of the correct type. |
NullPointerException | if collection contains at least one null element and this Collection doesn't support null elements. |
NullPointerException | if collection is null . |
Removes all objects from this Collection
that are not also found in the Collection
passed (optional). After this method returns this Collection
will only contain elements that also can be found in the Collection
passed to this method.
collection | the collection of objects to retain. |
---|
true
if this Collection
is modified, false
otherwise.UnsupportedOperationException | if removing from this Collection is not supported. |
---|---|
ClassCastException | if one or more elements of collection isn't of the correct type. |
NullPointerException | if collection contains at least one null element and this Collection doesn't support null elements. |
NullPointerException | if collection is null . |
Returns a count of how many objects this Collection
contains.
Collection
contains, or Integer.MAX_VALUE if there are more than Integer.MAX_VALUE elements in this Collection
.Returns an array containing all elements contained in this Collection
. If the specified array is large enough to hold the elements, the specified array is used, otherwise an array of the same type is created. If the specified array is used and is larger than this Collection
, the array element following the Collection
elements is set to null. If the implementation has ordered elements it will return the element array in the same order as an iterator would return them. toArray(new Object[0])
behaves exactly the same way as toArray()
does.
array | the array. |
---|
Collection
.ArrayStoreException | if the type of an element in this Collection cannot be stored in the type of the specified array. |
---|
Returns a new array containing all elements contained in this Collection
. If the implementation has ordered elements it will return the element array in the same order as an iterator would return them. The array returned does not reflect any changes of the Collection
. A new array is created even if the underlying data structure is already an array.
Collection
.