java.util
Interface Collection<E>
- Iterable<E>
- BeanContext, BeanContextServices, List<E>, Set<E>, SortedSet<E>
- AbstractCollection<E>, AbstractList<E>, AbstractSequentialList<E>, AbstractSet<E>, ArrayList<E>, AttributeList, BeanContextServicesSupport, BeanContextSupport, CopyOnWriteArrayList<E>, EnumSet<T,extends,Enum,T>, HashSet<T>, JobStateReasons, LinkedHashSet<T>, LinkedList<T>, Stack<T>, TreeSet<T>, Vector<T>
Interface that represents a collection of objects. This interface is the
root of the collection hierarchy, and does not provide any guarantees about
the order of its elements or whether or not duplicate elements are
permitted.
All methods of this interface that are defined to modify the collection are
defined as
optional. An optional operation may throw an
UnsupportedOperationException if the data backing this collection does not
support such a modification. This may mean that the data structure is
immutable, or that it is read-only but may change ("unmodifiable"), or
that it is modifiable but of fixed size (such as an array), or any number
of other combinations.
A class that wishes to implement this interface should consider subclassing
AbstractCollection, which provides basic implementations of most of the
methods of this interface. Classes that are prepared to make guarantees
about ordering or about absence of duplicate elements should consider
implementing List or Set respectively, both of which are subinterfaces of
Collection.
A general-purpose implementation of the Collection interface should in most
cases provide at least two constructors: One which takes no arguments and
creates an empty collection, and one which takes a Collection as an argument
and returns a collection containing the same elements (that is, creates a
copy of the argument using its own implementation).
List
, Set
, Map
, SortedSet
, SortedMap
, HashSet
, TreeSet
, ArrayList
, LinkedList
, Vector
, Collections
, Arrays
, AbstractCollection
| T[] toArray(T[] a) - Copy the current contents of this collection into an array.
|
boolean | add(E o) - Add an element to this collection.
|
boolean | addAll(E> c) - Add the contents of a given collection to this collection.
|
void | clear() - Clear the collection, such that a subsequent call to isEmpty() would
return true.
|
boolean | contains(Object o) - Test whether this collection contains a given object as one of its
elements.
|
boolean | containsAll(Collection> c) - Test whether this collection contains every element in a given collection.
|
boolean | equals(Object o) - Test whether this collection is equal to some object.
|
int | hashCode() - Obtain a hash code for this collection.
|
boolean | isEmpty() - Test whether this collection is empty, that is, if size() == 0.
|
Iterator | iterator() - Obtain an Iterator over this collection.
|
boolean | remove(Object o) - Remove a single occurrence of an object from this collection.
|
boolean | removeAll(Collection> c) - Remove all elements of a given collection from this collection.
|
boolean | retainAll(Collection> c) - Remove all elements of this collection that are not contained in a given
collection.
|
int | size() - Get the number of elements in this collection.
|
Object[] | toArray() - Copy the current contents of this collection into an array.
|
T[] toArray
public T[] toArray(T[] a)
Copy the current contents of this collection into an array. If the array
passed as an argument has length less than the size of this collection, an
array of the same run-time type as a, and length equal to the size of this
collection, is allocated using Reflection. Otherwise, a itself is used.
The elements of this collection are copied into it, and if there is space
in the array, the following element is set to null. The resultant array is
returned.
Note: The fact that the following element is set to null is only useful
if it is known that this collection does not contain any null elements.
a
- the array to copy this collection into.
- an array containing the elements currently in this collection, in
any order.
ArrayStoreException
- if the type of any element of the
collection is not a subtype of the element type of a.
add
public boolean add(E o)
Add an element to this collection.
- true if the collection was modified as a result of this action.
addAll
public boolean addAll(E> c)
Add the contents of a given collection to this collection.
c
- the collection to add.
- true if the collection was modified as a result of this action.
clear
public void clear()
Clear the collection, such that a subsequent call to isEmpty() would
return true.
contains
public boolean contains(Object o)
Test whether this collection contains a given object as one of its
elements.
o
- the element to look for.
- true if this collection contains at least one element e such that
o == null ? e == null : o.equals(e)
.
containsAll
public boolean containsAll(Collection> c)
Test whether this collection contains every element in a given collection.
c
- the collection to test for.
- true if for every element o in c, contains(o) would return true.
equals
public boolean equals(Object o)
Test whether this collection is equal to some object. The Collection
interface does not explicitly require any behaviour from this method, and
it may be left to the default implementation provided by Object. The Set
and List interfaces do, however, require specific behaviour from this
method.
If an implementation of Collection, which is not also an implementation of
Set or List, should choose to implement this method, it should take care
to obey the contract of the equals method of Object. In particular, care
should be taken to return false when o is a Set or a List, in order to
preserve the symmetry of the relation.
- equals in interface Object
o
- the object to compare to this collection.
- true if the o is equal to this collection.
hashCode
public int hashCode()
Obtain a hash code for this collection. The Collection interface does not
explicitly require any behaviour from this method, and it may be left to
the default implementation provided by Object. The Set and List interfaces
do, however, require specific behaviour from this method.
If an implementation of Collection, which is not also an implementation of
Set or List, should choose to implement this method, it should take care
to obey the contract of the hashCode method of Object. Note that this
method renders it impossible to correctly implement both Set and List, as
the required implementations are mutually exclusive.
- hashCode in interface Object
- a hash code for this collection.
isEmpty
public boolean isEmpty()
Test whether this collection is empty, that is, if size() == 0.
- true if this collection contains no elements.
iterator
public Iterator iterator()
Obtain an Iterator over this collection.
- iterator in interface Iterable<E>
- an Iterator over the elements of this collection, in any order.
remove
public boolean remove(Object o)
Remove a single occurrence of an object from this collection. That is,
remove an element e, if one exists, such that o == null ? e == null
: o.equals(e)
.
o
- the object to remove.
- true if the collection changed as a result of this call, that is,
if the collection contained at least one occurrence of o.
removeAll
public boolean removeAll(Collection> c)
Remove all elements of a given collection from this collection. That is,
remove every element e such that c.contains(e).
c
- The collection of objects to be removed.
- true if this collection was modified as a result of this call.
retainAll
public boolean retainAll(Collection> c)
Remove all elements of this collection that are not contained in a given
collection. That is, remove every element e such that !c.contains(e).
c
- The collection of objects to be retained.
- true if this collection was modified as a result of this call.
size
public int size()
Get the number of elements in this collection.
- the number of elements in the collection.
toArray
public Object[] toArray()
Copy the current contents of this collection into an array.
- an array of type Object[] and length equal to the size of this
collection, containing the elements currently in this collection, in
any order.
Collection.java -- Interface that represents a collection of objects
Copyright (C) 1998, 2001, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.