Class Interval1D


  • public class Interval1D
    extends Object
    The Interval1D class represents a one-dimensional interval. The interval is closed—it contains both endpoints. Intervals are immutable: their values cannot be changed after they are created. The class Interval1D includes methods for checking whether an interval contains a point and determining whether two intervals intersect.

    For additional documentation, see Section 1.2 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.

    Author:
    Robert Sedgewick, Kevin Wayne
    • Field Detail

      • MIN_ENDPOINT_ORDER

        public static final Comparator<Interval1D> MIN_ENDPOINT_ORDER
        Compares two intervals by min endpoint.
      • MAX_ENDPOINT_ORDER

        public static final Comparator<Interval1D> MAX_ENDPOINT_ORDER
        Compares two intervals by max endpoint.
      • LENGTH_ORDER

        public static final Comparator<Interval1D> LENGTH_ORDER
        Compares two intervals by length.
    • Constructor Detail

      • Interval1D

        public Interval1D​(double min,
                          double max)
        Initializes a closed interval [min, max].
        Parameters:
        min - the smaller endpoint
        max - the larger endpoint
        Throws:
        IllegalArgumentException - if the min endpoint is greater than the max endpoint
        IllegalArgumentException - if either min or max is Double.NaN, Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY
    • Method Detail

      • min

        public double min()
        Returns the min endpoint of this interval.
        Returns:
        the min endpoint of this interval
      • max

        public double max()
        Returns the max endpoint of this interval.
        Returns:
        the max endpoint of this interval
      • intersects

        public boolean intersects​(Interval1D that)
        Returns true if this interval intersects the specified interval.
        Parameters:
        that - the other interval
        Returns:
        true if this interval intersects the argument interval; false otherwise
      • contains

        public boolean contains​(double x)
        Returns true if this interval contains the specified value.
        Parameters:
        x - the value
        Returns:
        true if this interval contains the value x; false otherwise
      • length

        public double length()
        Returns the length of this interval.
        Returns:
        the length of this interval (max - min)
      • toString

        public String toString()
        Returns a string representation of this interval.
        Overrides:
        toString in class Object
        Returns:
        a string representation of this interval in the form [min, max]
      • equals

        public boolean equals​(Object other)
        Compares this transaction to the specified object.
        Overrides:
        equals in class Object
        Parameters:
        other - the other interval
        Returns:
        true if this interval equals the other interval; false otherwise
      • hashCode

        public int hashCode()
        Returns an integer hash code for this interval.
        Overrides:
        hashCode in class Object
        Returns:
        an integer hash code for this interval
      • main

        public static void main​(String[] args)
        Unit tests the Interval1D data type.
        Parameters:
        args - the command-line arguments