it.unimi.dsi.fastutil.objects
Class AbstractReferenceCollection<K>

java.lang.Object
  extended by java.util.AbstractCollection<K>
      extended by it.unimi.dsi.fastutil.objects.AbstractReferenceCollection<K>
All Implemented Interfaces:
ObjectIterable<K>, ReferenceCollection<K>, java.lang.Iterable<K>, java.util.Collection<K>
Direct Known Subclasses:
AbstractReferenceBigList, AbstractReferenceList, AbstractReferenceSet, ReferenceCollections.EmptyCollection, ReferenceCollections.IterableCollection

public abstract class AbstractReferenceCollection<K>
extends java.util.AbstractCollection<K>
implements ReferenceCollection<K>

An abstract class providing basic methods for collections implementing a type-specific interface.

In particular, this class provide iterator(), add(), AbstractCollection.remove(Object) and AbstractCollection.contains(Object) methods that just call the type-specific counterpart.


Method Summary
 boolean add(K k)
           
 boolean addAll(java.util.Collection<? extends K> c)
          Adds all elements of the given collection to this collection.
 boolean containsAll(java.util.Collection<?> c)
          Checks whether this collection contains all elements from the given collection.
 boolean isEmpty()
           
abstract  ObjectIterator<K> iterator()
          Returns a type-specific iterator on the elements of this collection.
 ObjectIterator<K> objectIterator()
          Deprecated. 
 boolean removeAll(java.util.Collection<?> c)
          Remove from this collection all elements in the given collection.
 boolean retainAll(java.util.Collection<?> c)
          Retains in this collection only elements from the given collection.
 java.lang.Object[] toArray()
           
<T> T[]
toArray(T[] a)
          Returns an containing the items of this collection; the runtime type of the returned array is that of the specified array.
 java.lang.String toString()
           
 
Methods inherited from class java.util.AbstractCollection
clear, contains, remove, size
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Collection
clear, contains, equals, hashCode, remove, size
 

Method Detail

toArray

public java.lang.Object[] toArray()
Specified by:
toArray in interface java.util.Collection<K>
Overrides:
toArray in class java.util.AbstractCollection<K>

toArray

public <T> T[] toArray(T[] a)
Description copied from interface: ReferenceCollection
Returns an containing the items of this collection; the runtime type of the returned array is that of the specified array.

Warning: Note that, contrarily to Collection.toArray(Object[]), this methods just writes all elements of this collection: no special value will be added after the last one.

Specified by:
toArray in interface ReferenceCollection<K>
Specified by:
toArray in interface java.util.Collection<K>
Overrides:
toArray in class java.util.AbstractCollection<K>
Parameters:
a - if this array is big enough, it will be used to store this collection.
Returns:
a primitive type array containing the items of this collection.
See Also:
Collection.toArray(Object[])

addAll

public boolean addAll(java.util.Collection<? extends K> c)
Adds all elements of the given collection to this collection.

Specified by:
addAll in interface java.util.Collection<K>
Overrides:
addAll in class java.util.AbstractCollection<K>
Parameters:
c - a collection.
Returns:
true if this collection changed as a result of the call.

add

public boolean add(K k)
Specified by:
add in interface java.util.Collection<K>
Overrides:
add in class java.util.AbstractCollection<K>

objectIterator

@Deprecated
public ObjectIterator<K> objectIterator()
Deprecated. 

Delegates to the new covariantly stronger generic method.

Specified by:
objectIterator in interface ReferenceCollection<K>
See Also:
ReferenceCollection.iterator()

iterator

public abstract ObjectIterator<K> iterator()
Description copied from interface: ReferenceCollection
Returns a type-specific iterator on the elements of this collection.

Note that this specification strengthens the one given in Iterable.iterator(), which was already strengthened in the corresponding type-specific class, but was weakened by the fact that this interface extends Collection.

Specified by:
iterator in interface ObjectIterable<K>
Specified by:
iterator in interface ReferenceCollection<K>
Specified by:
iterator in interface java.lang.Iterable<K>
Specified by:
iterator in interface java.util.Collection<K>
Specified by:
iterator in class java.util.AbstractCollection<K>
Returns:
a type-specific iterator on the elements of this collection.

containsAll

public boolean containsAll(java.util.Collection<?> c)
Checks whether this collection contains all elements from the given collection.

Specified by:
containsAll in interface java.util.Collection<K>
Overrides:
containsAll in class java.util.AbstractCollection<K>
Parameters:
c - a collection.
Returns:
true if this collection contains all elements of the argument.

retainAll

public boolean retainAll(java.util.Collection<?> c)
Retains in this collection only elements from the given collection.

Specified by:
retainAll in interface java.util.Collection<K>
Overrides:
retainAll in class java.util.AbstractCollection<K>
Parameters:
c - a collection.
Returns:
true if this collection changed as a result of the call.

removeAll

public boolean removeAll(java.util.Collection<?> c)
Remove from this collection all elements in the given collection. If the collection is an instance of this class, it uses faster iterators.

Specified by:
removeAll in interface java.util.Collection<K>
Overrides:
removeAll in class java.util.AbstractCollection<K>
Parameters:
c - a collection.
Returns:
true if this collection changed as a result of the call.

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Collection<K>
Overrides:
isEmpty in class java.util.AbstractCollection<K>

toString

public java.lang.String toString()
Overrides:
toString in class java.util.AbstractCollection<K>