Interface Ordered.OfLong

All Superinterfaces:
Arrangeable
All Known Implementing Classes:
LongBag, LongDeque, LongFloatOrderedMap, LongIntOrderedMap, LongList, LongLongOrderedMap, LongObjectOrderedMap, LongOrderedSet
Enclosing interface:
Ordered<T>

public static interface Ordered.OfLong extends Arrangeable
A primitive specialization of Ordered for collections of long values instead of objects.
  • 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 OrderType
     
    Gets the LongList of long items that this data structure holds, in the order it uses for iteration.
    default long
    Returns a random item from the list, or zero if the list is empty.
    default long
    Gets a random long 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 long
    selectRanked(LongComparator comparator, int kthLowest)
    Selects the kth-lowest element from this Ordered according to LongComparator ranking.
    default int
    selectRankedIndex(LongComparator comparator, int kthLowest)
    Gets the index of the kth-lowest element from this Ordered according to LongComparator ranking.
    default void
    Pseudo-randomly shuffles the order of this Ordered in-place.
    default void
    sort(LongComparator comparator)
    Sorts this Ordered according to the order induced by the specified LongComparator.
    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
  • Method Details

    • order

      LongList order()
      Gets the LongList of long items that this data structure holds, in the order it uses for iteration. This should usually return a direct reference to an LongList used inside this object, so changes to the list will affect this.
      Returns:
      the LongList of long 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 long 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 long random(Random rng)
      Gets a random long value from this Ordered, using the given random number generator.
      This should return 0 if the Ordered is empty.
      Parameters:
      rng - any Random class
      Returns:
      a random long value from this Ordered.OfLong
    • sort

      default void sort(LongComparator comparator)
      Sorts this Ordered according to the order induced by the specified LongComparator. 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 long selectRanked(LongComparator comparator, int kthLowest)
      Selects the kth-lowest element from this Ordered according to LongComparator 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(LongComparator comparator, int kthLowest)
      Gets the index of the kth-lowest element from this Ordered according to LongComparator 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()