Interface Ordered.OfChar

All Superinterfaces:
Arrangeable, CharSequence
All Known Implementing Classes:
CharBag, CharDeque, CharList
Enclosing interface:
Ordered<T>

public static interface Ordered.OfChar extends Arrangeable, CharSequence
  • Nested Class Summary

    Nested classes/interfaces inherited from interface com.github.tommyettinger.ds.Arrangeable

    Arrangeable.ArrangeableList<T>
  • Method Summary

    Modifier and Type
    Method
    Description
    default char
    charAt(int index)
    Equivalent to calling CharList.get(int) on order().
    default OrderType
     
    default boolean
    Returns true if this data structure has no items (its Arrangeable.size() is 0), or false otherwise.
    default int
    Compatibility alias for Arrangeable.size().
    Gets the CharList of char items that this data structure holds, in the order it uses for iteration.
    default char
    Returns a random item from the list, or zero if the list is empty.
    default char
    Gets a random char value from this Ordered, using the given random number generator.
    default void
    removeRange(int start, int end)
    Removes items from the ordering (and potentially only the ordering, depending on implementation) between start, inclusive, and end, exclusive.
    default void
    Reverses the order of this Ordered in-place.
    default char
    selectRanked(CharComparator comparator, int kthLowest)
    Selects the kth-lowest element from this Ordered according to CharComparator ranking.
    default int
    selectRankedIndex(CharComparator comparator, int kthLowest)
    Gets the index of the kth-lowest element from this Ordered according to CharComparator ranking.
    default void
    Pseudo-randomly shuffles the order of this Ordered in-place.
    default void
    sort(CharComparator comparator)
    Sorts this Ordered according to the order induced by the specified CharComparator.
    default CharList
    subSequence(int start, int end)
    Creates a new sub-list (not a view) of the given range of this data structure.
    default void
    swap(int first, int second)
    Switches the ordering of positions first and second, without changing any items beyond that.

    Methods inherited from interface com.github.tommyettinger.ds.Arrangeable

    rearrange, shuffle, size

    Methods inherited from interface java.lang.CharSequence

    chars, codePoints, toString
  • Method Details

    • order

      CharList order()
      Gets the CharList of char items that this data structure holds, in the order it uses for iteration. This should usually return a direct reference to an CharList used inside this object, so changes to the list will affect this.
      Returns:
      the CharList of char items that this data structure holds
    • swap

      default void swap(int first, int second)
      Switches the ordering of positions first and second, without changing any items beyond that.
      Specified by:
      swap in interface Arrangeable
      Parameters:
      first - the first position, must not be negative and must be less than Arrangeable.size()
      second - the second position, must not be negative and must be less than Arrangeable.size()
    • shuffle

      default void shuffle(Random rng)
      Pseudo-randomly shuffles the order of this Ordered in-place. You can seed rng, the random number generator, with an identical seed to reproduce a shuffle on two Ordered with the same Arrangeable.size().
      Specified by:
      shuffle in interface Arrangeable
      Parameters:
      rng - any Random class, such as one from juniper
    • reverse

      default void reverse()
      Reverses the order of this Ordered in-place.
      Specified by:
      reverse in interface Arrangeable
    • random

      default char random()
      Returns a random item from the list, or zero if the list is empty. Uses ArrayTools.RANDOM as its random number generator, which is randomly seeded.
      Returns:
      a randomly selected item from this, or 0 if this is empty
    • random

      default char random(Random rng)
      Gets a random char value from this Ordered, using the given random number generator.
      This should return (char)(0) if the Ordered is empty.
      Parameters:
      rng - any Random class
      Returns:
      a random char value from this Ordered.OfChar
    • sort

      default void sort(CharComparator comparator)
      Sorts this Ordered according to the order induced by the specified CharComparator. The sort is stable: this method must not reorder equal elements.
      If the specified comparator is null then the numeric elements' natural ordering should be used.
      Parameters:
      comparator - used to sort the T items this contains; may be null to use natural ordering
    • selectRanked

      default char selectRanked(CharComparator comparator, int kthLowest)
      Selects the kth-lowest element from this Ordered according to CharComparator ranking. This might partially sort the Ordered, changing its order. The Ordered must have a size greater than 0, or a RuntimeException will be thrown.
      Parameters:
      comparator - used for comparison
      kthLowest - rank of desired object according to comparison; k is based on ordinal numbers, not array indices. For min value use 1, for max value use size of the Ordered; using 0 results in a runtime exception.
      Returns:
      the value of the kth lowest ranked item.
      See Also:
    • selectRankedIndex

      default int selectRankedIndex(CharComparator comparator, int kthLowest)
      Gets the index of the kth-lowest element from this Ordered according to CharComparator ranking. This might partially sort the Ordered, changing its order. The Ordered must have a size greater than 0, or a RuntimeException will be thrown.
      Parameters:
      comparator - used for comparison
      kthLowest - rank of desired object according to comparison; k is based on ordinal numbers, not array indices. For min value use 1, for max value use size of the Ordered; using 0 results in a runtime exception.
      Returns:
      the index of the kth lowest ranked item.
      See Also:
    • removeRange

      default void removeRange(int start, int end)
      Removes items from the ordering (and potentially only the ordering, depending on implementation) between start, inclusive, and end, exclusive.
      Parameters:
      start - inclusive start of the range to remove from the ordering
      end - exclusive end of the range to remove from the ordering
    • getOrderType

      default OrderType getOrderType()
    • length

      default int length()
      Compatibility alias for Arrangeable.size(). Here for compatibility with CharSequence.
      Specified by:
      length in interface CharSequence
      Returns:
      how many items are contained in this data structure
    • charAt

      default char charAt(int index)
      Equivalent to calling CharList.get(int) on order(). Here for compatibility with CharSequence.
      Specified by:
      charAt in interface CharSequence
      Parameters:
      index - the index of the char value to be returned
      Returns:
      the char at the given index in the ordering
    • isEmpty

      default boolean isEmpty()
      Returns true if this data structure has no items (its Arrangeable.size() is 0), or false otherwise. Here for compatibility with CharSequence.
      Specified by:
      isEmpty in interface CharSequence
      Returns:
      true if this data structure has no items, or false otherwise.
    • subSequence

      default CharList subSequence(int start, int end)
      Creates a new sub-list (not a view) of the given range of this data structure. Here for compatibility with CharSequence.
      This is typically overridden to return the same type as this data structure, though this is not required.
      Specified by:
      subSequence in interface CharSequence
      Parameters:
      start - the start index, inclusive
      end - the end index, exclusive
      Returns:
      a new sub-list of this data structure, which is also a CharSequence