Class BytesTrie.Iterator

java.lang.Object
com.ibm.icu.util.BytesTrie.Iterator
All Implemented Interfaces:
Iterator<BytesTrie.Entry>
Enclosing class:
BytesTrie

public static final class BytesTrie.Iterator extends Object implements Iterator<BytesTrie.Entry>
Iterator for all of the (byte sequence, value) pairs in a BytesTrie.
  • Field Details

    • bytes_

      private byte[] bytes_
    • pos_

      private int pos_
    • initialPos_

      private int initialPos_
    • remainingMatchLength_

      private int remainingMatchLength_
    • initialRemainingMatchLength_

      private int initialRemainingMatchLength_
    • maxLength_

      private int maxLength_
    • entry_

      private BytesTrie.Entry entry_
    • stack_

      private ArrayList<Long> stack_
  • Constructor Details

    • Iterator

      private Iterator(byte[] trieBytes, int offset, int remainingMatchLength, int maxStringLength)
  • Method Details

    • reset

      public BytesTrie.Iterator reset()
      Resets this iterator to its initial state.
      Returns:
      this
    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface Iterator<BytesTrie.Entry>
      Returns:
      true if there are more elements.
    • next

      public BytesTrie.Entry next()
      Finds the next (byte sequence, value) pair if there is one. If the byte sequence is truncated to the maximum length and does not have a real value, then the value is set to -1. In this case, this "not a real value" is indistinguishable from a real value of -1.
      Specified by:
      next in interface Iterator<BytesTrie.Entry>
      Returns:
      An Entry with the string and value of the next element.
      Throws:
      NoSuchElementException - - iteration has no more elements.
    • remove

      public void remove()
      Iterator.remove() is not supported.
      Specified by:
      remove in interface Iterator<BytesTrie.Entry>
      Throws:
      UnsupportedOperationException - (always)
    • truncateAndStop

      private BytesTrie.Entry truncateAndStop()
    • branchNext

      private int branchNext(int pos, int length)