Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.struts.util
Class FastArrayList

    java.lang.Object
      |
      +--java.util.AbstractCollection
            |
            +--java.util.AbstractList
                  |
                  +--java.util.ArrayList
                        |
                        +--org.apache.struts.util.FastArrayList

All Implemented Interfaces:
  java.lang.Cloneable, java.util.Collection, java.util.List, java.io.Serializable

Deprecated. At some point after Struts 1.0 final, will be replaced by an equivalent class in the Jakarta Commons Collections package.

public class FastArrayList
extends java.util.ArrayList

A customized implementation of `java.util.ArrayList` designed to operate in a multithreaded environment where the large majority of method calls are read-only, instead of structural changes. When operating in "fast" mode, read calls are non-synchronized and write calls perform the following steps:

- Clone the existing collection
- Perform the modification on the clone
- Replace the existing collection with the (modified) clone

When first created, objects of this class default to "slow" mode, where all accesses of any type are synchronized but no cloning takes place. This is appropriate for initially populating the collection, followed by a switch to "fast" mode (by calling `setFast(true)`) after initialization is complete.

NOTE: If you are creating and accessing an `ArrayList` only within a single thread, you should use `java.util.ArrayList` directly (with no synchronization), for maximum performance.

Version:
  $Revision: 1.1 $ $Date: 2001-09-17 21:13:30 +0100 (Mon, 17 Sep 2001) $
Author:
  Craig R. McClanahan
See Also:
  Serialized Form

Field Summary
`protected boolean` | `fast` Deprecated. Are we operating in "fast" mode?
`protected java.util.ArrayList` | `list` Deprecated. The underlying list we are managing.

Fields inherited from class java.util.ArrayList
`elementData, size`

Fields inherited from class java.util.AbstractList
`modCount`

Constructor Summary
`FastArrayList()` Deprecated. Construct a an empty list.
`FastArrayList(java.util.Collection collection)` Deprecated. Construct a list containing the elements of the specified collection, in the order they are returned by the collection's iterator.
`FastArrayList(int capacity)` Deprecated. Construct an empty list with the specified capacity.

Method Summary
`void` | `add(int index, java.lang.Object element)` Deprecated. Insert the specified element at the specified position in this list, and shift all remaining elements up one position.
`boolean` | `add(java.lang.Object element)` Deprecated. Appends the specified element to the end of this list.
`boolean` | `addAll(java.util.Collection collection)` Deprecated. Append all of the elements in the specified Collection to the end of this list, in the order that they are returned by the specified Collection's Iterator.
`boolean` | `addAll(int index, java.util.Collection collection)` Deprecated. Insert all of the elements in the specified Collection at the specified position in this list, and shift any previous elements upwards as needed.
`void` | `clear()` Deprecated. Remove all of the elements from this list.
`java.lang.Object` | `clone()` Deprecated. Return a shallow copy of this `FastArrayList` instance.
`boolean` | `contains(java.lang.Object element)` Deprecated. Return `true` if this list contains the specified element.
`boolean` | `containsAll(java.util.Collection collection)` Deprecated. Return `true` if this list contains all of the elements in the specified Collection.
`void` | `ensureCapacity(int capacity)` Deprecated. Increase the capacity of this `ArrayList` instance, if necessary, to ensure that it can hold at least the number of elements specified by the minimum capacity argument.
`boolean` | `equals(java.lang.Object o)` Deprecated. Compare the specified object with this list for equality.
`java.lang.Object` | `get(int index)` Deprecated. Return the element at the specified position in the list.
`boolean` | `getFast()` Deprecated.
`int` | `hashCode()` Deprecated. Return the hash code value for this list.
`int` | `indexOf(java.lang.Object element)` Deprecated. Search for the first occurrence of the given argument, testing for equality using the `equals()` method, and return the corresponding index, or -1 if the object is not found.
`boolean` | `isEmpty()` Deprecated. Test if this list has no elements.
`java.util.Iterator` | `iterator()` Deprecated. Return an iterator over the elements in this list in proper sequence.
`int` | `lastIndexOf(java.lang.Object element)` Deprecated. Search for the last occurrence of the given argument, testing for equality using the `equals()` method, and return the corresponding index, or -1 if the object is not found.
`java.util.ListIterator` | `listIterator()` Deprecated. Return an iterator of the elements of this list, in proper sequence.
`java.util.ListIterator` | `listIterator(int index)` Deprecated. Return an iterator of the elements of this list, in proper sequence, starting at the specified position.
`java.lang.Object` | `remove(int index)` Deprecated. Remove the element at the specified position in the list, and shift any subsequent elements down one position.
`boolean` | `remove(java.lang.Object element)` Deprecated. Remove the first occurrence of the specified element from the list, and shift any subsequent elements down one position.
`boolean` | `removeAll(java.util.Collection collection)` Deprecated. Remove from this collection all of its elements that are contained in the specified collection.
`boolean` | `retainAll(java.util.Collection collection)` Deprecated. Remove from this collection all of its elements except those that are contained in the specified collection.
`java.lang.Object` | `set(int index, java.lang.Object element)` Deprecated. Replace the element at the specified position in this list with the specified element.
`void` | `setFast(boolean fast)` Deprecated.
`int` | `size()` Deprecated. Return the number of elements in this list.
`java.util.List` | `subList(int fromIndex, int toIndex)` Deprecated. Return a view of the portion of this list between fromIndex (inclusive) and toIndex (exclusive).
`java.lang.Object[]` | `toArray()` Deprecated. Return an array containing all of the elements in this list in the correct order.
`java.lang.Object[]` | `toArray(java.lang.Object[] array)` Deprecated. Return an array containing all of the elements in this list in the correct order.
`java.lang.String` | `toString()` Deprecated. Return a String representation of this object.
`void` | `trimToSize()` Deprecated. Trim the capacity of this `ArrayList` instance to be the list's current size.

Methods inherited from class java.util.ArrayList
`RangeCheck, readObject, removeRange, writeObject`

Methods inherited from class java.lang.Object
`, finalize, getClass, notify, notifyAll, registerNatives, wait, wait, wait`

Field Detail

### list

    protected java.util.ArrayList list

  Deprecated.
  The underlying list we are managing.

### fast

    protected boolean fast

  Deprecated.
  Are we operating in "fast" mode?

Constructor Detail

### FastArrayList

    public FastArrayList()

  Deprecated.
  Construct a an empty list.

### FastArrayList

    public FastArrayList(int capacity)

  Deprecated.
  Construct an empty list with the specified capacity.
  Parameters:
    `capacity` - The initial capacity of the empty list

### FastArrayList

    public FastArrayList(java.util.Collection collection)

  Deprecated.
  Construct a list containing the elements of the specified collection, in the order they are returned by the collection's iterator.
  Parameters:
    `collection` - The collection whose elements initialize the contents of this list

Method Detail

### getFast

    public boolean getFast()

  Deprecated.

### setFast

    public void setFast(boolean fast)

  Deprecated.

### add

    public boolean add(java.lang.Object element)

  Deprecated.
  Appends the specified element to the end of this list.
  Overrides:
    `add` in class `java.util.ArrayList`
  Parameters:
    `element` - The element to be appended

### add

    public void add(int index,
                    java.lang.Object element)

  Deprecated.
  Insert the specified element at the specified position in this list, and shift all remaining elements up one position.
  Overrides:
    `add` in class `java.util.ArrayList`
  Parameters:
    `index` - Index at which to insert this element
    `element` - The element to be inserted
  Throws:
    `java.lang.IndexOutOfBoundsException` - if the index is out of range

### addAll

    public boolean addAll(java.util.Collection collection)

  Deprecated.
  Append all of the elements in the specified Collection to the end of this list, in the order that they are returned by the specified Collection's Iterator.
  Overrides:
    `addAll` in class `java.util.ArrayList`
  Parameters:
    `collection` - The collection to be appended

### addAll

    public boolean addAll(int index,
                          java.util.Collection collection)

  Deprecated.
  Insert all of the elements in the specified Collection at the specified position in this list, and shift any previous elements upwards as needed.
  Overrides:
    `addAll` in class `java.util.ArrayList`
  Parameters:
    `index` - Index at which insertion takes place
    `collection` - The collection to be added
  Throws:
    `java.lang.IndexOutOfBoundsException` - if the index is out of range

### clear

    public void clear()

  Deprecated.
  Remove all of the elements from this list. The list will be empty after this call returns.
  Overrides:
    `clear` in class `java.util.ArrayList`
  Throws:
    `UnsupportedOperationException` - if `clear()` is not supported by this list

### clone

    public java.lang.Object clone()

  Deprecated.
  Return a shallow copy of this `FastArrayList` instance. The elements themselves are not copied.
  Overrides:
    `clone` in class `java.util.ArrayList`

### contains

    public boolean contains(java.lang.Object element)

  Deprecated.
  Return `true` if this list contains the specified element.
  Overrides:
    `contains` in class `java.util.ArrayList`
  Parameters:
    `element` - The element to test for

### containsAll

    public boolean containsAll(java.util.Collection collection)

  Deprecated.
  Return `true` if this list contains all of the elements in the specified Collection.
  Overrides:
    `containsAll` in class `java.util.AbstractCollection`
  Parameters:
    `collection` - Collection whose elements are to be checked

### ensureCapacity

    public void ensureCapacity(int capacity)

  Deprecated.
  Increase the capacity of this `ArrayList` instance, if necessary, to ensure that it can hold at least the number of elements specified by the minimum capacity argument.
  Overrides:
    `ensureCapacity` in class `java.util.ArrayList`
  Parameters:
    `capacity` - The new minimum capacity

### equals

    public boolean equals(java.lang.Object o)

  Deprecated.
  Compare the specified object with this list for equality. This implementation uses exactly the code that is used to define the list equals function in the documentation for the `List.equals` method.
  Overrides:
    `equals` in class `java.util.AbstractList`
  Parameters:
    `o` - Object to be compared to this list

### get

    public java.lang.Object get(int index)

  Deprecated.
  Return the element at the specified position in the list.
  Overrides:
    `get` in class `java.util.ArrayList`
  Parameters:
    `index` - The index of the element to return
  Throws:
    `java.lang.IndexOutOfBoundsException` - if the index is out of range

### hashCode

    public int hashCode()

  Deprecated.
  Return the hash code value for this list. This implementation uses exactly the code that is used to define the list hash function in the documentation for the `List.hashCode` method.
  Overrides:
    `hashCode` in class `java.util.AbstractList`

### indexOf

    public int indexOf(java.lang.Object element)

  Deprecated.
  Search for the first occurrence of the given argument, testing for equality using the `equals()` method, and return the corresponding index, or -1 if the object is not found.
  Overrides:
    `indexOf` in class `java.util.ArrayList`
  Parameters:
    `element` - The element to search for

### isEmpty

    public boolean isEmpty()

  Deprecated.
  Test if this list has no elements.
  Overrides:
    `isEmpty` in class `java.util.ArrayList`

### iterator

    public java.util.Iterator iterator()

  Deprecated.
  Return an iterator over the elements in this list in proper sequence.
  IMPLEMENTATION NOTE - If the list is operating in fast mode, an Iterator is returned, and a structural modification to the list is made, then the Iterator will continue over the previous contents of the list (at the time that the Iterator was created), rather than failing due to concurrent modifications.
  Overrides:
    `iterator` in class `java.util.AbstractList`

### lastIndexOf

    public int lastIndexOf(java.lang.Object element)

  Deprecated.
  Search for the last occurrence of the given argument, testing for equality using the `equals()` method, and return the corresponding index, or -1 if the object is not found.
  Overrides:
    `lastIndexOf` in class `java.util.ArrayList`
  Parameters:
    `element` - The element to search for

### listIterator

    public java.util.ListIterator listIterator()

  Deprecated.
  Return an iterator of the elements of this list, in proper sequence. See the implementation note on `iterator()`.
  Overrides:
    `listIterator` in class `java.util.AbstractList`

### listIterator

    public java.util.ListIterator listIterator(int index)

  Deprecated.
  Return an iterator of the elements of this list, in proper sequence, starting at the specified position. See the implementation note on `iterator()`.
  Overrides:
    `listIterator` in class `java.util.AbstractList`
  Parameters:
    `index` - The starting position of the iterator to return
  Throws:
    `java.lang.IndexOutOfBoundsException` - if the index is out of range

### remove

    public java.lang.Object remove(int index)

  Deprecated.
  Remove the element at the specified position in the list, and shift any subsequent elements down one position.
  Overrides:
    `remove` in class `java.util.ArrayList`
  Parameters:
    `index` - Index of the element to be removed
  Throws:
    `java.lang.IndexOutOfBoundsException` - if the index is out of range

### remove

    public boolean remove(java.lang.Object element)

  Deprecated.
  Remove the first occurrence of the specified element from the list, and shift any subsequent elements down one position.
  Overrides:
    `remove` in class `java.util.AbstractCollection`
  Parameters:
    `element` - Element to be removed

### removeAll

    public boolean removeAll(java.util.Collection collection)

  Deprecated.
  Remove from this collection all of its elements that are contained in the specified collection.
  Overrides:
    `removeAll` in class `java.util.AbstractCollection`
  Parameters:
    `collection` - Collection containing elements to be removed
  Throws:
    `UnsupportedOperationException` - if this optional operation is not supported by this list

### retainAll

    public boolean retainAll(java.util.Collection collection)

  Deprecated.
  Remove from this collection all of its elements except those that are contained in the specified collection.
  Overrides:
    `retainAll` in class `java.util.AbstractCollection`
  Parameters:
    `collection` - Collection containing elements to be retained
  Throws:
    `UnsupportedOperationException` - if this optional operation is not supported by this list

### set

    public java.lang.Object set(int index,
                                java.lang.Object element)

  Deprecated.
  Replace the element at the specified position in this list with the specified element. Returns the previous object at that position.
  IMPLEMENTATION NOTE - This operation is specifically documented to not be a structural change, so it is safe to be performed without cloning.
  Overrides:
    `set` in class `java.util.ArrayList`
  Parameters:
    `index` - Index of the element to replace
    `element` - The new element to be stored
  Throws:
    `java.lang.IndexOutOfBoundsException` - if the index is out of range

### size

    public int size()

  Deprecated.
  Return the number of elements in this list.
  Overrides:
    `size` in class `java.util.ArrayList`

### subList

    public java.util.List subList(int fromIndex,
                                  int toIndex)

  Deprecated.
  Return a view of the portion of this list between fromIndex (inclusive) and toIndex (exclusive). The returned list is backed by this list, so non-structural changes in the returned list are reflected in this list. The returned list supports all of the optional list operations supported by this list.
  Overrides:
    `subList` in class `java.util.AbstractList`
  Parameters:
    `fromIndex` - The starting index of the sublist view
    `toIndex` - The index after the end of the sublist view
  Throws:
    `java.lang.IndexOutOfBoundsException` - if an index is out of range

### toArray

    public java.lang.Object[] toArray()

  Deprecated.
  Return an array containing all of the elements in this list in the correct order.
  Overrides:
    `toArray` in class `java.util.ArrayList`

### toArray

    public java.lang.Object[] toArray(java.lang.Object[] array)

  Deprecated.
  Return an array containing all of the elements in this list in the correct order. The runtime type of the returned array is that of the specified array. If the list fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array, and the size of this list.
  Overrides:
    `toArray` in class `java.util.ArrayList`
  Parameters:
    `array` - Array defining the element type of the returned list
  Throws:
    `ArrayStoreException` - if the runtime type of `array` is not a supertype of the runtime type of every element in this list

### toString

    public java.lang.String toString()

  Deprecated.
  Return a String representation of this object.
  Overrides:
    `toString` in class `java.util.AbstractCollection`

### trimToSize

    public void trimToSize()

  Deprecated.
  Trim the capacity of this `ArrayList` instance to be the list's current size. An application can use this operation to minimize the storage of an `ArrayList` instance.
  Overrides:
    `trimToSize` in class `java.util.ArrayList`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2001 - Apache Software Foundation