## org.apache.lucene.search.suggest
Class BytesRefArray

    java.lang.Object
      org.apache.lucene.search.suggest.BytesRefArray

    public final class BytesRefArray

extends Object

A simple append only random-access `BytesRef` array that stores full copies of the appended bytes in a `ByteBlockPool`. Note: This class is not Thread-Safe!

WARNING: This API is experimental and might change in incompatible ways in the next release.
NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

Constructor Summary
`BytesRefArray(Counter bytesUsed)` Creates a new `BytesRefArray` with a counter to track allocated bytes

Method Summary
`int` `append(BytesRef bytes)` Appends a copy of the given `BytesRef` to this `BytesRefArray`.
`void` `clear()` Clears this `BytesRefArray`
`BytesRef` `get(BytesRef spare, int index)` Returns the n'th element of this `BytesRefArray`
`BytesRefIterator` `iterator()` sugar for `iterator(Comparator)` with a `null` comparator
`BytesRefIterator` `iterator(Comparator<BytesRef> comp)` Returns a `BytesRefIterator` with point in time semantics.
`int` `size()` Returns the current size of this `BytesRefArray`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### BytesRefArray

    public BytesRefArray(Counter bytesUsed)

  Creates a new `BytesRefArray` with a counter to track allocated bytes

Method Detail

### clear

    public void clear()

  Clears this `BytesRefArray`

### append

    public int append(BytesRef bytes)

  Appends a copy of the given `BytesRef` to this `BytesRefArray`.

  Parameters:
    `bytes` - the bytes to append
  Returns:
    the index of the appended bytes

### size

    public int size()

  Returns the current size of this `BytesRefArray`

  Returns:
    the current size of this `BytesRefArray`

### get

    public BytesRef get(BytesRef spare,
                        int index)

  Returns the n'th element of this `BytesRefArray`

  Parameters:
    `spare` - a spare `BytesRef` instance
    `index` - the elements index to retrieve
  Returns:
    the n'th element of this `BytesRefArray`

### iterator

    public BytesRefIterator iterator()

  sugar for `iterator(Comparator)` with a `null` comparator

### iterator

    public BytesRefIterator iterator(Comparator<BytesRef> comp)

  Returns a `BytesRefIterator` with point in time semantics. The iterator provides access to all so far appended `BytesRef` instances.

  If a non `null` `Comparator` is provided the iterator will iterate the byte values in the order specified by the comparator. Otherwise the order is the same as the values were appended.

  This is a non-destructive operation.

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.