Class FastReadArray<T>

java.lang.Object
org.zkoss.util.FastReadArray<T>
All Implemented Interfaces:
Serializable, Cloneable

public class FastReadArray<T> extends Object implements Serializable, Cloneable
An array of objects that are fast to read but a bit slower to add and remove.

It is thread-safe.

Typical use:

Object[] ary = fra.toArray();
for (int j = 0; j < ary.length; ++j)
  <i>whatever</i>;
Since:
3.0.6
Author:
tomyeh
See Also:
  • Constructor Details

    • FastReadArray

      public FastReadArray(Class<?> klass)
      Constructs an array of the specified class.
  • Method Details

    • toArray

      public T[] toArray()
      Returns the array (never null). To read, you shall store the return value in a local variable and then iterate thru it.

      Note: the return array is readonly. Don't modify the value of any element.

    • isEmpty

      public boolean isEmpty()
      Returns if it is empty.
    • size

      public int size()
      Returns the size.
    • clear

      public void clear()
      Removes all of the elements for this array.
      Since:
      6.0.0
    • add

      public void add(T val)
      Adds an object.
    • remove

      public boolean remove(T val)
      Removes an object.
      Returns:
      whether the object is removed successfully (i.e., found).
    • removeBy

      public boolean removeBy(Comparable val, boolean atMostOne)
      Removes the object(s) that matches the specified condition. By match we mean Comparable.compareTo(T) returns 0. In other words, this method invokes val.compareTo() against each element in this array.
      Parameters:
      atMostOne - whether to remove the first matched object only. If true, only the first matched object, if any, is removed. If false, all matched object are removed.
    • clone

      public Object clone()
      Overrides:
      clone in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object