Class BytesRefList


  • public final class BytesRefList
    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 Detail

      • BytesRefList

        public BytesRefList()
        Creates a new BytesRefList
    • Method Detail

      • append

        public int append​(BytesRef bytes)
        Appends a copy of the given BytesRef to this BytesRefList.
        Parameters:
        bytes - the bytes to append
        Returns:
        the ordinal of the appended bytes
      • bytesUsed

        public long bytesUsed()
        Returns the number internally used bytes to hold the appended bytes in memory
        Returns:
        the number internally used bytes to hold the appended bytes in memory
      • 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.