Class LongInterval

java.lang.Object
java.util.AbstractCollection<Long>
it.unimi.dsi.fastutil.longs.AbstractLongCollection
it.unimi.dsi.fastutil.longs.AbstractLongSet
it.unimi.dsi.fastutil.longs.AbstractLongSortedSet
it.unimi.dsi.util.LongInterval
All Implemented Interfaces:
it.unimi.dsi.fastutil.longs.LongBidirectionalIterable, it.unimi.dsi.fastutil.longs.LongCollection, it.unimi.dsi.fastutil.longs.LongIterable, it.unimi.dsi.fastutil.longs.LongSet, it.unimi.dsi.fastutil.longs.LongSortedSet, Serializable, Cloneable, Iterable<Long>, Collection<Long>, SequencedCollection<Long>, SequencedSet<Long>, Set<Long>, SortedSet<Long>

public final class LongInterval extends it.unimi.dsi.fastutil.longs.AbstractLongSortedSet implements it.unimi.dsi.fastutil.longs.LongSortedSet, Serializable
An interval of longs. See Interval for details.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    final long
    The left extreme of the interval.
    final long
    The right extreme of the interval.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    LongInterval(long left, long right)
    Builds an interval with given extremes.
  • Method Summary

    Modifier and Type
    Method
    Description
    it.unimi.dsi.fastutil.longs.LongComparator
     
    int
    compareTo(int x)
    Compares this interval to an integer.
    int
    compareTo(int x, int radius)
    Compares this interval to an integer with a specified radius.
    int
    compareTo(int x, int leftRadius, int rightRadius)
    Compares this interval to an integer with specified left and right radii.
    boolean
    contains(int x)
    Checks whether this interval contains the specified integer.
    boolean
    contains(int x, int radius)
    Checks whether this interval would contain the specified integer if enlarged in both directions by the specified radius.
    boolean
    contains(int x, int leftRadius, int rightRadius)
    Checks whether this interval would contain the specified integer if enlarged in each direction with the respective radius.
    boolean
    Checks whether this interval contains the specified interval.
    boolean
    Checks whether this interval is equal to another set of integers.
    long
     
    int
     
    it.unimi.dsi.fastutil.longs.LongSortedSet
    headSet(long to)
     
    it.unimi.dsi.fastutil.longs.LongBidirectionalIterator
    Returns an iterator over the integers in this interval.
    it.unimi.dsi.fastutil.longs.LongBidirectionalIterator
    iterator(long from)
    Returns an iterator over the integers in this interval larger than or equal to a given integer.
    long
     
    long
    Returns the interval length, that is, the number of integers contained in the interval.
    int
    An alias for length() miminised with Integer.MAX_VALUE.
    long
    An alias for length().
    it.unimi.dsi.fastutil.longs.LongSortedSet
    subSet(long from, long to)
     
    it.unimi.dsi.fastutil.longs.LongSortedSet
    tailSet(long from)
     
     
    valueOf(long point)
    Returns a one-point interval.
    valueOf(long left, long right)
    Returns an interval with given extremes.

    Methods inherited from class it.unimi.dsi.fastutil.longs.AbstractLongSet

    rem, remove

    Methods inherited from class it.unimi.dsi.fastutil.longs.AbstractLongCollection

    add, add, addAll, addAll, contains, contains, containsAll, containsAll, forEach, remove, removeAll, removeAll, removeIf, retainAll, retainAll, toArray, toLongArray, toLongArray

    Methods inherited from class java.util.AbstractCollection

    clear, isEmpty, toArray, toArray

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.util.Collection

    toArray

    Methods inherited from interface it.unimi.dsi.fastutil.longs.LongCollection

    add, addAll, contains, containsAll, longIterator, longParallelStream, longSpliterator, longStream, parallelStream, removeAll, removeIf, removeIf, removeIf, retainAll, stream, toArray, toLongArray, toLongArray

    Methods inherited from interface it.unimi.dsi.fastutil.longs.LongIterable

    forEach, forEach, forEach

    Methods inherited from interface it.unimi.dsi.fastutil.longs.LongSet

    add, contains, rem, remove, remove

    Methods inherited from interface it.unimi.dsi.fastutil.longs.LongSortedSet

    first, headSet, last, spliterator, subSet, tailSet

    Methods inherited from interface java.util.Set

    add, addAll, clear, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray

    Methods inherited from interface java.util.SortedSet

    addFirst, addLast, getFirst, getLast, removeFirst, removeLast, reversed
  • Field Details

    • left

      public final long left
      The left extreme of the interval.
  • Constructor Details

    • LongInterval

      protected LongInterval(long left, long right)
      Builds an interval with given extremes.

      You cannot generate an empty interval with this constructor. Use Intervals.EMPTY_INTERVAL instead.

      Parameters:
      left - the left extreme.
      right - the right extreme (which must be greater than or equal to the left extreme).
  • Method Details

    • valueOf

      public static LongInterval valueOf(long left, long right)
      Returns an interval with given extremes.

      You cannot obtain an empty interval with this factory method. Use Intervals.EMPTY_INTERVAL instead.

      Parameters:
      left - the left extreme.
      right - the right extreme (which must be greater than or equal to the left extreme).
      Returns:
      an interval with the given extremes.
    • valueOf

      public static LongInterval valueOf(long point)
      Returns a one-point interval.

      You cannot obtain an empty interval with this factory method. Use Intervals.EMPTY_INTERVAL instead.

      Parameters:
      point - a point.
      Returns:
      a one-point interval
    • length

      public long length()
      Returns the interval length, that is, the number of integers contained in the interval.
      Returns:
      the interval length.
    • size

      public int size()
      An alias for length() miminised with Integer.MAX_VALUE.
      Specified by:
      size in interface Collection<Long>
      Specified by:
      size in interface Set<Long>
      Specified by:
      size in class AbstractCollection<Long>
      Returns:
      the interval length minimised with Integer.MAX_VALUE.
    • size64

      public long size64()
      An alias for length().
      Returns:
      the interval length.
    • iterator

      public it.unimi.dsi.fastutil.longs.LongBidirectionalIterator iterator()
      Returns an iterator over the integers in this interval.
      Specified by:
      iterator in interface Collection<Long>
      Specified by:
      iterator in interface Iterable<Long>
      Specified by:
      iterator in interface it.unimi.dsi.fastutil.longs.LongBidirectionalIterable
      Specified by:
      iterator in interface it.unimi.dsi.fastutil.longs.LongCollection
      Specified by:
      iterator in interface it.unimi.dsi.fastutil.longs.LongIterable
      Specified by:
      iterator in interface it.unimi.dsi.fastutil.longs.LongSet
      Specified by:
      iterator in interface it.unimi.dsi.fastutil.longs.LongSortedSet
      Specified by:
      iterator in interface Set<Long>
      Specified by:
      iterator in class it.unimi.dsi.fastutil.longs.AbstractLongSortedSet
      Returns:
      an integer iterator over the elements in this interval.
    • iterator

      public it.unimi.dsi.fastutil.longs.LongBidirectionalIterator iterator(long from)
      Returns an iterator over the integers in this interval larger than or equal to a given integer.
      Specified by:
      iterator in interface it.unimi.dsi.fastutil.longs.LongSortedSet
      Parameters:
      from - the starting integer.
      Returns:
      an integer iterator over the elements in this interval.
    • contains

      public boolean contains(int x)
      Checks whether this interval contains the specified integer.
      Parameters:
      x - an integer.
      Returns:
      whether this interval contains x, that is, whether leftxright.
    • contains

      public boolean contains(LongInterval interval)
      Checks whether this interval contains the specified interval.
      Parameters:
      interval - an interval.
      Returns:
      whether this interval contains (as a set) interval.
    • contains

      public boolean contains(int x, int radius)
      Checks whether this interval would contain the specified integer if enlarged in both directions by the specified radius.
      Parameters:
      x - an integer.
      radius - the radius.
      Returns:
      whether this interval enlarged by radius would contain x, e.g., whether leftradiusxright+radius.
    • contains

      public boolean contains(int x, int leftRadius, int rightRadius)
      Checks whether this interval would contain the specified integer if enlarged in each direction with the respective radius. directions by the specified radius.
      Parameters:
      x - an integer.
      leftRadius - the left radius.
      rightRadius - the right radius.
      Returns:
      whether this interval enlarged to the left by leftRadius and to the right by rightRadius would contain x, e.g., whether leftleftRadiusxright+rightRadius.
    • compareTo

      public int compareTo(int x)
      Compares this interval to an integer.
      Parameters:
      x - an integer.
      Returns:
      a negative integer, zero, or a positive integer as x is positioned at the left, belongs, or is positioned to the right of this interval, e.g., as x < left, leftxright or right < x.
    • compareTo

      public int compareTo(int x, int radius)
      Compares this interval to an integer with a specified radius.
      Parameters:
      x - an integer.
      radius - the radius.
      Returns:
      a negative integer, zero, or a positive integer as x is positioned at the left, belongs, or is positioned to the right of this interval enlarged by radius, that is, as x < leftradius, leftradiusxright+radius or right+radius < x.
    • compareTo

      public int compareTo(int x, int leftRadius, int rightRadius)
      Compares this interval to an integer with specified left and right radii.
      Parameters:
      x - an integer.
      leftRadius - the left radius.
      rightRadius - the right radius.
      Returns:
      a negative integer, zero, or a positive integer as x is positioned at the left, belongs, or is positioned to the right of this interval enlarged by leftRadius on the left and rightRadius in the right, that is, as x < leftleftRadius, leftleftRadiusxright+rightRadius or right+rightRadius < x.
    • comparator

      public it.unimi.dsi.fastutil.longs.LongComparator comparator()
      Specified by:
      comparator in interface it.unimi.dsi.fastutil.longs.LongSortedSet
      Specified by:
      comparator in interface SortedSet<Long>
    • headSet

      public it.unimi.dsi.fastutil.longs.LongSortedSet headSet(long to)
      Specified by:
      headSet in interface it.unimi.dsi.fastutil.longs.LongSortedSet
    • tailSet

      public it.unimi.dsi.fastutil.longs.LongSortedSet tailSet(long from)
      Specified by:
      tailSet in interface it.unimi.dsi.fastutil.longs.LongSortedSet
    • subSet

      public it.unimi.dsi.fastutil.longs.LongSortedSet subSet(long from, long to)
      Specified by:
      subSet in interface it.unimi.dsi.fastutil.longs.LongSortedSet
    • firstLong

      public long firstLong()
      Specified by:
      firstLong in interface it.unimi.dsi.fastutil.longs.LongSortedSet
    • lastLong

      public long lastLong()
      Specified by:
      lastLong in interface it.unimi.dsi.fastutil.longs.LongSortedSet
    • toString

      public String toString()
      Overrides:
      toString in class it.unimi.dsi.fastutil.longs.AbstractLongCollection
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Collection<Long>
      Specified by:
      hashCode in interface Set<Long>
      Overrides:
      hashCode in class it.unimi.dsi.fastutil.longs.AbstractLongSet
    • equals

      public boolean equals(Object o)
      Checks whether this interval is equal to another set of integers.
      Specified by:
      equals in interface Collection<Long>
      Specified by:
      equals in interface Set<Long>
      Overrides:
      equals in class it.unimi.dsi.fastutil.longs.AbstractLongSet
      Parameters:
      o - an object.
      Returns:
      true if o is an ordered set of integer containing the same element of this interval in the same order, or if o is a set of integers containing the same elements of this interval.