Class CharsTrie.Iterator

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

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

    • chars_

      private CharSequence chars_
    • pos_

      private int pos_
    • initialPos_

      private int initialPos_
    • remainingMatchLength_

      private int remainingMatchLength_
    • initialRemainingMatchLength_

      private int initialRemainingMatchLength_
    • skipValue_

      private boolean skipValue_
    • str_

      private StringBuilder str_
    • maxLength_

      private int maxLength_
    • entry_

      private CharsTrie.Entry entry_
    • stack_

      private ArrayList<Long> stack_
  • Constructor Details

    • Iterator

      private Iterator(CharSequence trieChars, int offset, int remainingMatchLength, int maxStringLength)
  • Method Details

    • reset

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

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

      public CharsTrie.Entry next()
      Finds the next (string, value) pair if there is one. If the string 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<CharsTrie.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<CharsTrie.Entry>
      Throws:
      UnsupportedOperationException - (always)
    • truncateAndStop

      private CharsTrie.Entry truncateAndStop()
    • branchNext

      private int branchNext(int pos, int length)