# Hierarchy For Package org.optaplanner.core.impl.heuristic.selector.common.iterator

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.optaplanner.core.impl.heuristic.selector.common.iterator.SelectionIterator<S> (implements java.util.Iterator<E>)
    - org.optaplanner.core.impl.heuristic.selector.common.iterator.CachedListRandomIterator<S>
    - org.optaplanner.core.impl.heuristic.selector.common.iterator.UpcomingSelectionIterator<S>
      - org.optaplanner.core.impl.heuristic.selector.common.iterator.AbstractOriginalChangeIterator<Solution_,​Move_>
      - org.optaplanner.core.impl.heuristic.selector.common.iterator.AbstractOriginalSwapIterator<Solution_,​Move_,​SubSelection_>
      - org.optaplanner.core.impl.heuristic.selector.common.iterator.AbstractRandomChangeIterator<Solution_,​Move_>
      - org.optaplanner.core.impl.heuristic.selector.common.iterator.AbstractRandomSwapIterator<Solution_,​Move_,​SubSelection_>
  - org.optaplanner.core.impl.heuristic.selector.common.iterator.SelectionListIterator<S> (implements java.util.ListIterator<E>)
  - org.optaplanner.core.impl.heuristic.selector.common.iterator.SingletonIterator<T> (implements java.util.ListIterator<E>)

## Interface Hierarchy

- java.lang.Iterable<T>
  - org.optaplanner.core.impl.heuristic.selector.common.iterator.ListIterable<T>