org.apache.commons.collections.primitives

Interface CharList

public interface CharList extends CharCollection

An ordered collection of char values.

Since: Commons Primitives 1.0

Version: $Revision: 1.3 $ $Date: 2003/10/16 20:49:36 $

Author: Rodney Waldhoff

See Also: CharListList

Method Summary
booleanadd(char element)
Appends the specified element to the end of me (optional operation).
voidadd(int index, char element)
Inserts the specified element at the specified position (optional operation).
booleanaddAll(int index, CharCollection collection)
Inserts all of the elements in the specified collection into me, at the specified position (optional operation).
booleanequals(Object that)
Returns true iff that is an CharList that contains the same elements in the same order as me.
charget(int index)
Returns the value of the element at the specified position within me.
inthashCode()
Returns my hash code.
intindexOf(char element)
Returns the index of the first occurrence of the specified element within me, or -1 if I do not contain the element.
CharIteratoriterator()
Returns an iterator over all my elements, in the appropriate sequence.
intlastIndexOf(char element)
Returns the index of the last occurrence of the specified element within me, or -1 if I do not contain the element.
CharListIteratorlistIterator()
Returns a bidirectional iterator over all my elements, in the appropriate sequence.
CharListIteratorlistIterator(int index)
Returns a bidirectional iterator over all my elements, in the appropriate sequence, starting at the specified position.
charremoveElementAt(int index)
Removes the element at the specified position in (optional operation).
charset(int index, char element)
Replaces the element at the specified position in me with the specified element (optional operation).
CharListsubList(int fromIndex, int toIndex)
Returns a view of the elements within me between the specified fromIndex, inclusive, and toIndex, exclusive.

Method Detail

add

public boolean add(char element)
Appends the specified element to the end of me (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.

Parameters: element the value whose presence within me is to be ensured

Returns: true iff I changed as a result of this call

Throws: UnsupportedOperationException when this operation is not supported IllegalArgumentException may be thrown if some aspect of the specified element prevents it from being added to me

add

public void add(int index, char element)
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.

Parameters: index the index at which to insert the element element the value to insert

Throws: UnsupportedOperationException when this operation is not supported IllegalArgumentException if some aspect of the specified element prevents it from being added to me IndexOutOfBoundsException if the specified index is out of range

addAll

public boolean addAll(int index, CharCollection collection)
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.

Parameters: index the index at which to insert the first element from the specified collection collection the CharCollection of elements to add

Returns: true iff I changed as a result of this call

Throws: UnsupportedOperationException when this operation is not supported IndexOutOfBoundsException if the specified index is out of range

equals

public boolean equals(Object that)
Returns true iff that is an CharList that contains the same elements in the same order as me. In other words, returns true iff that is an CharList 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 CharList interface.)

Parameters: that the object to compare to me

Returns: true iff that is an CharList that contains the same elements in the same order as me

get

public char get(int index)
Returns the value of the element at the specified position within me.

Parameters: index the index of the element to return

Returns: the value of the element at the specified position

Throws: IndexOutOfBoundsException if the specified index is out of range

hashCode

public int hashCode()
Returns my hash code.

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

 int hash = 1;
 for(CharIterator iter = iterator(); iter.hasNext(); ) {
   char value = iter.next();
   hash = 31*hash + (int)(value ^ (value >>> 32));
 }

This contract ensures that this method is consistent with equals and with the java.util.List#hashCode hashCode method of a java.util.List List of Characters.

Returns: my hash code

indexOf

public int indexOf(char element)
Returns the index of the first occurrence of the specified element within me, or -1 if I do not contain the element.

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

iterator

public CharIterator iterator()
Returns an iterator over all my elements, in the appropriate sequence.

Returns: an iterator over all my elements.

lastIndexOf

public int lastIndexOf(char element)
Returns the index of the last occurrence of the specified element within me, or -1 if I do not contain the element.

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 CharListIterator listIterator()
Returns a bidirectional iterator over all my elements, in the appropriate sequence.

listIterator

public CharListIterator listIterator(int index)
Returns a bidirectional iterator over all my elements, in the appropriate sequence, starting at the specified position. The specified index indicates the first element that would be returned by an initial call to the next method. An initial call to the previous method would return the element with the specified index minus one.

Throws: IndexOutOfBoundsException if the specified index is out of range

removeElementAt

public char removeElementAt(int index)
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.

Parameters: index the index of the element to remove

Returns: the value of the element that was removed

Throws: UnsupportedOperationException when this operation is not supported IndexOutOfBoundsException if the specified index is out of range

set

public char set(int index, char element)
Replaces the element at the specified position in me with the specified element (optional operation).

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

Throws: UnsupportedOperationException when this operation is not supported IndexOutOfBoundsException if the specified index is out of range

subList

public CharList subList(int fromIndex, int toIndex)
Returns a view of the elements within me between the specified fromIndex, inclusive, and toIndex, exclusive. The returned CharList 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.

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)

Throws: IndexOutOfBoundsException if either specified index is out of range

Copyright (c) 2002-2003 - Apache Software Foundation