Package weka.core

# Class FastVector

java.lang.Object
weka.core.FastVector

All Implemented Interfaces:
  `Serializable`, `Copyable`, `RevisionHandler`

Direct Known Subclasses:
  `BestFirst.LinkedList2`, `LFSMethods.LinkedList2`

public class FastVector extends Object implements Copyable, Serializable, RevisionHandler
Implements a fast vector class without synchronized methods. Replaces java.util.Vector. (Synchronized methods tend to be slow.)

Version:
  $Revision: 1.16 $
Author:
  Eibe Frank (eibe@cs.waikato.ac.nz)
See Also:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`FastVector.FastVectorEnumeration`
Class for enumerating the vector's elements.

## Constructor Summary

Constructors
Constructor
Description
`FastVector()`
Constructs an empty vector with initial capacity zero.
`FastVector(int capacity)`
Constructs a vector with the given capacity.

## Method Summary

Modifier and Type
Method
Description
`final void`
`addElement(Object element)`
Adds an element to this vector.
`final void`
`appendElements(FastVector toAppend)`
Appends all elements of the supplied vector to this vector.
`final int`
`capacity()`
Returns the capacity of the vector.
`boolean`
`contains(Object o)`
added by akibriya
`final Object`
`copy()`
Produces a shallow copy of this vector.
`final Object`
`copyElements()`
Clones the vector and shallow copies all its elements.
`final Object`
`elementAt(int index)`
Returns the element at the given position.
`final Enumeration`
`elements()`
Returns an enumeration of this vector.
`final Enumeration`
`elements(int index)`
Returns an enumeration of this vector, skipping the element with the given index.
`final Object`
`firstElement()`
Returns the first element of the vector.
`String`
`getRevision()`
Returns the revision string.
`final int`
`indexOf(Object element)`
Searches for the first occurence of the given argument, testing for equality using the equals method.
`final void`
`insertElementAt(Object element, int index)`
Inserts an element at the given position.
`final Object`
`lastElement()`
Returns the last element of the vector.
`final void`
`removeAllElements()`
Removes all components from this vector and sets its size to zero.
`final void`
`removeElementAt(int index)`
Deletes an element from this vector.
`final void`
`setCapacity(int capacity)`
Sets the vector's capacity to the given value.
`final void`
`setElementAt(Object element, int index)`
Sets the element at the given index.
`final int`
`size()`
Returns the vector's current size.
`final void`
`swap(int first, int second)`
Swaps two elements in the vector.
`final Object[]`
`toArray()`
Returns all the elements of this vector as an array
`final void`
`trimToSize()`
Sets the vector's capacity to its size.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### FastVector

public FastVector()
Constructs an empty vector with initial capacity zero.

### FastVector

public FastVector(int capacity)
Constructs a vector with the given capacity.

Parameters:
  `capacity` - the vector's initial capacity

## Method Details

### addElement

public final void addElement(Object element)
Adds an element to this vector. Increases its capacity if its not large enough.

Parameters:
  `element` - the element to add

### capacity

public final int capacity()
Returns the capacity of the vector.

Returns:
  the capacity of the vector

### copy

public final Object copy()
Produces a shallow copy of this vector.

Specified by:
  `copy` in interface `Copyable`
Returns:
  the new vector

### copyElements

public final Object copyElements()
Clones the vector and shallow copies all its elements. The elements have to implement the Copyable interface.

Returns:
  the new vector

### elementAt

public final Object elementAt(int index)
Returns the element at the given position.

Parameters:
  `index` - the element's index
Returns:
  the element with the given index

### elements

public final Enumeration elements()
Returns an enumeration of this vector.

Returns:
  an enumeration of this vector

### elements

public final Enumeration elements(int index)
Returns an enumeration of this vector, skipping the element with the given index.

Parameters:
  `index` - the element to skip
Returns:
  an enumeration of this vector

### contains

public boolean contains(Object o)
added by akibriya

### firstElement

public final Object firstElement()
Returns the first element of the vector.

Returns:
  the first element of the vector

### indexOf

public final int indexOf(Object element)
Searches for the first occurence of the given argument, testing for equality using the equals method.

Parameters:
  `element` - the element to be found
Returns:
  the index of the first occurrence of the argument in this vector; returns -1 if the object is not found

### insertElementAt

public final void insertElementAt(Object element, int index)
Inserts an element at the given position.

Parameters:
  `element` - the element to be inserted
  `index` - the element's index

### lastElement

public final Object lastElement()
Returns the last element of the vector.

Returns:
  the last element of the vector

### removeElementAt

public final void removeElementAt(int index)
Deletes an element from this vector.

Parameters:
  `index` - the index of the element to be deleted

### removeAllElements

public final void removeAllElements()
Removes all components from this vector and sets its size to zero.

### appendElements

public final void appendElements(FastVector toAppend)
Appends all elements of the supplied vector to this vector.

Parameters:
  `toAppend` - the FastVector containing elements to append.

### toArray

public final Object[] toArray()
Returns all the elements of this vector as an array

Returns:
  an array containing all the elements of this vector

### setCapacity

public final void setCapacity(int capacity)
Sets the vector's capacity to the given value.

Parameters:
  `capacity` - the new capacity

### setElementAt

public final void setElementAt(Object element, int index)
Sets the element at the given index.

Parameters:
  `element` - the element to be put into the vector
  `index` - the index at which the element is to be placed

### size

public final int size()
Returns the vector's current size.

Returns:
  the vector's current size

### swap

public final void swap(int first, int second)
Swaps two elements in the vector.

Parameters:
  `first` - index of the first element
  `second` - index of the second element

### trimToSize

public final void trimToSize()
Sets the vector's capacity to its size.

### getRevision

public String getRevision()
Returns the revision string.

Specified by:
  `getRevision` in interface `RevisionHandler`
Returns:
  the revision