org.apache.commons.collections.primitives.adapters
Class AbstractListIntList

java.lang.Object
  extended byorg.apache.commons.collections.primitives.adapters.AbstractCollectionIntCollection
      extended byorg.apache.commons.collections.primitives.adapters.AbstractListIntList
All Implemented Interfaces:
IntCollection, IntList
Direct Known Subclasses:
ListIntList, NonSerializableListIntList

abstract class AbstractListIntList
extends AbstractCollectionIntCollection
implements IntList

Since:
Commons Primitives 1.0
Version:
$Revision: 1.3 $ $Date: 2003/10/16 20:49:39 $
Author:
Rodney Waldhoff

Constructor Summary
(package private) AbstractListIntList()
           
 
Method Summary
 boolean add(int element)
          Appends the specified element to the end of me (optional operation).
 void add(int index, int element)
          Inserts the specified element at the specified position (optional operation).
 boolean addAll(IntCollection c)
          Adds all of the elements in the specified collection to me (optional operation).
 boolean addAll(int index, IntCollection collection)
          Inserts all of the elements in the specified collection into me, at the specified position (optional operation).
 void clear()
          Removes all my elements (optional operation).
 boolean contains(int element)
          Returns true iff I contain the specified element.
 boolean containsAll(IntCollection c)
          Returns true iff I contain all of the elements in the given collection.
 boolean equals(Object obj)
          Returns true iff that is an IntList that contains the same elements in the same order as me.
 int get(int index)
          Returns the value of the element at the specified position within me.
protected  Collection getCollection()
           
protected abstract  List getList()
           
 int hashCode()
          Returns my hash code.
 int indexOf(int element)
          Returns the index of the first occurrence of the specified element within me, or -1 if I do not contain the element.
 boolean isEmpty()
          Returns true iff I contain no elements.
 IntIterator iterator()
          wraps the Iterator returned by my underlying Collection, if any.
 int lastIndexOf(int element)
          Returns the index of the last occurrence of the specified element within me, or -1 if I do not contain the element.
 IntListIterator listIterator()
          wraps the IntList returned by my underlying IntListIterator, if any.
 IntListIterator listIterator(int index)
          wraps the IntList returned by my underlying IntListIterator, if any.
 boolean removeAll(IntCollection c)
          Removes all of my elements that are contained in the specified collection (optional operation).
 boolean removeElement(int element)
          Removes a single occurrence of the specified element (optional operation).
 int removeElementAt(int index)
          Removes the element at the specified position in (optional operation).
 boolean retainAll(IntCollection c)
          Removes all of my elements that are not contained in the specified collection (optional operation).
 int set(int index, int element)
          Replaces the element at the specified position in me with the specified element (optional operation).
 int size()
          Returns the number of elements I contain.
 IntList subList(int fromIndex, int toIndex)
          Returns a view of the elements within me between the specified fromIndex, inclusive, and toIndex, exclusive.
 int[] toArray()
          Returns an array containing all of my elements.
 int[] toArray(int[] dest)
          Returns an array containing all of my elements, using the given array if it is large enough.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.commons.collections.primitives.IntList
add, iterator
 
Methods inherited from interface org.apache.commons.collections.primitives.IntCollection
addAll, clear, contains, containsAll, isEmpty, removeAll, removeElement, retainAll, size, toArray, toArray
 

Constructor Detail

AbstractListIntList

AbstractListIntList()
Method Detail

add

public void add(int index,
                int element)
Description copied from interface: IntList
Inserts the specified element at the specified position (optional operation). Shifts the element currently at that position (if any) and any subsequent elements to the right, increasing their indices.

Specified by:
add in interface IntList
Parameters:
index - the index at which to insert the element
element - the value to insert

addAll

public boolean addAll(int index,
                      IntCollection collection)
Description copied from interface: IntList
Inserts all of the elements in the specified collection into me, at the specified position (optional operation). Shifts the element currently at that position (if any) and any subsequent elements to the right, increasing their indices. The new elements will appear in the order that they are returned by the given collection's iterator.

Specified by:
addAll in interface IntList
Parameters:
index - the index at which to insert the first element from the specified collection
collection - the IntCollection of elements to add
Returns:
true iff I changed as a result of this call

get

public int get(int index)
Description copied from interface: IntList
Returns the value of the element at the specified position within me.

Specified by:
get in interface IntList
Parameters:
index - the index of the element to return
Returns:
the value of the element at the specified position

indexOf

public int indexOf(int element)
Description copied from interface: IntList
Returns the index of the first occurrence of the specified element within me, or -1 if I do not contain the element.

Specified by:
indexOf in interface IntList
Parameters:
element - the element to search for
Returns:
the smallest index of an element matching the specified value, or -1 if no such matching element can be found

lastIndexOf

public int lastIndexOf(int element)
Description copied from interface: IntList
Returns the index of the last occurrence of the specified element within me, or -1 if I do not contain the element.

Specified by:
lastIndexOf in interface IntList
Parameters:
element - the element to search for
Returns:
the largest index of an element matching the specified value, or -1 if no such matching element can be found

listIterator

public IntListIterator listIterator()
wraps the IntList returned by my underlying IntListIterator, if any.

Specified by:
listIterator in interface IntList

listIterator

public IntListIterator listIterator(int index)
wraps the IntList returned by my underlying IntListIterator, if any.

Specified by:
listIterator in interface IntList

removeElementAt

public int removeElementAt(int index)
Description copied from interface: IntList
Removes the element at the specified position in (optional operation). Any subsequent elements are shifted to the left, subtracting one from their indices. Returns the element that was removed.

Specified by:
removeElementAt in interface IntList
Parameters:
index - the index of the element to remove
Returns:
the value of the element that was removed

set

public int set(int index,
               int element)
Description copied from interface: IntList
Replaces the element at the specified position in me with the specified element (optional operation).

Specified by:
set in interface IntList
Parameters:
index - the index of the element to change
element - the value to be stored at the specified position
Returns:
the value previously stored at the specified position

subList

public IntList subList(int fromIndex,
                       int toIndex)
Description copied from interface: IntList
Returns a view of the elements within me between the specified fromIndex, inclusive, and toIndex, exclusive. The returned IntList is backed by me, so that any changes in the returned list are reflected in me, and vice-versa. The returned list supports all of the optional operations that I support.

Note that when fromIndex == toIndex, the returned list is initially empty, and when fromIndex == 0 && toIndex == size() the returned list is my "improper" sublist, containing all my elements.

The semantics of the returned list become undefined if I am structurally modified in any way other than via the returned list.

Specified by:
subList in interface IntList
Parameters:
fromIndex - the smallest index (inclusive) in me that appears in the returned list
toIndex - the largest index (exclusive) in me that appears in the returned list
Returns:
a view of this list from fromIndex (inclusive) to toIndex (exclusive)

equals

public boolean equals(Object obj)
Description copied from interface: IntList
Returns true iff that is an IntList that contains the same elements in the same order as me. In other words, returns true iff that is an IntList that has the same size as me, and for which the elements returned by its iterator are equal (==) to the corresponding elements within me. (This contract ensures that this method works properly across different implementations of the IntList interface.)

Specified by:
equals in interface IntList

hashCode

public int hashCode()
Description copied from interface: IntList
Returns my hash code.

The hash code of an IntList is defined to be the result of the following calculation:

 int hash = 1;
 for(IntIterator iter = iterator(); iter.hasNext(); ) {
   hash = 31*hash + iter.next();
 }

This contract ensures that this method is consistent with equals and with the hashCode method of a List of Integers.

Specified by:
hashCode in interface IntList

getCollection

protected final Collection getCollection()
Specified by:
getCollection in class AbstractCollectionIntCollection

getList

protected abstract List getList()

add

public boolean add(int element)
Description copied from interface: IntCollection
Ensures that I contain the specified element (optional operation). Returns true iff I changed as a result of this call.

If a collection refuses to add the specified element for any reason other than that it already contains the element, it must throw an exception (rather than simply returning false). This preserves the invariant that a collection always contains the specified element after this call returns.

Specified by:
add in interface IntCollection
Parameters:
element - the value whose presence within me is to be ensured
Returns:
true iff I changed as a result of this call

addAll

public boolean addAll(IntCollection c)
Description copied from interface: IntCollection
Adds all of the elements in the specified collection to me (optional operation).

Specified by:
addAll in interface IntCollection
Parameters:
c - the collection of elements whose presence within me is to be ensured
Returns:
true iff I changed as a result of this call

clear

public void clear()
Description copied from interface: IntCollection
Removes all my elements (optional operation). I will be empty after this method successfully returns.

Specified by:
clear in interface IntCollection

contains

public boolean contains(int element)
Description copied from interface: IntCollection
Returns true iff I contain the specified element.

Specified by:
contains in interface IntCollection
Parameters:
element - the value whose presence within me is to be tested
Returns:
true iff I contain the specified element

containsAll

public boolean containsAll(IntCollection c)
Description copied from interface: IntCollection
Returns true iff I contain all of the elements in the given collection.

Specified by:
containsAll in interface IntCollection
Parameters:
c - the collection of elements whose presence within me is to be tested
Returns:
true iff I contain the all the specified elements

toString

public String toString()

isEmpty

public boolean isEmpty()
Description copied from interface: IntCollection
Returns true iff I contain no elements.

Specified by:
isEmpty in interface IntCollection
Returns:
true iff I contain no elements.

iterator

public IntIterator iterator()
wraps the Iterator returned by my underlying Collection, if any.

Specified by:
iterator in interface IntCollection
Returns:
an iterator over all my elements.

removeElement

public boolean removeElement(int element)
Description copied from interface: IntCollection
Removes a single occurrence of the specified element (optional operation).

Specified by:
removeElement in interface IntCollection
Parameters:
element - the element to remove, if present
Returns:
true iff I contained the specified element, in other words, iff I changed as a result of this call

removeAll

public boolean removeAll(IntCollection c)
Description copied from interface: IntCollection
Removes all of my elements that are contained in the specified collection (optional operation). The behavior of this method is unspecified if the given collection is modified while this method is executing. Note that this includes the case in which the given collection is this collection, and it is not empty.

Specified by:
removeAll in interface IntCollection
Parameters:
c - the collection of elements to remove
Returns:
true iff I contained the at least one of the specified elements, in other words, returns true iff I changed as a result of this call

retainAll

public boolean retainAll(IntCollection c)
Description copied from interface: IntCollection
Removes all of my elements that are not contained in the specified collection (optional operation). (In other words, retains only my elements that are contained in the specified collection.) The behavior of this method is unspecified if the given collection is modified while this method is executing.

Specified by:
retainAll in interface IntCollection
Parameters:
c - the collection of elements to retain
Returns:
true iff I changed as a result of this call

size

public int size()
Description copied from interface: IntCollection
Returns the number of elements I contain.

Specified by:
size in interface IntCollection
Returns:
the number of elements I contain

toArray

public int[] toArray()
Description copied from interface: IntCollection
Returns an array containing all of my elements. The length of the returned array will be equal to my size.

The returned array will be independent of me, so that callers may modify that returned array without modifying this collection.

When I guarantee the order in which elements are returned by an iterator, the returned array will contain elements in the same order.

Specified by:
toArray in interface IntCollection
Returns:
an array containing all my elements

toArray

public int[] toArray(int[] dest)
Description copied from interface: IntCollection
Returns an array containing all of my elements, using the given array if it is large enough. When the length of the given array is larger than the number of elements I contain, values outside of my range will be unchanged.

The returned array will be independent of me, so that callers may modify that returned array without modifying this collection.

When I guarantee the order in which elements are returned by an iterator, the returned array will contain elements in the same order.

Specified by:
toArray in interface IntCollection
Parameters:
dest - an array that may be used to contain the elements
Returns:
an array containing all my elements


Copyright (c) 2002-2003 - Apache Software Foundation