Class Interval1D

• Object
• edu.princeton.cs.algs4.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 Summary

Fields
Modifier and Type Field Description
`static Comparator<Interval1D>` `LENGTH_ORDER`
Compares two intervals by length.
`static Comparator<Interval1D>` `MAX_ENDPOINT_ORDER`
Compares two intervals by max endpoint.
`static Comparator<Interval1D>` `MIN_ENDPOINT_ORDER`
Compares two intervals by min endpoint.
• Constructor Summary

Constructors
Constructor Description
```Interval1D​(double min, double max)```
Initializes a closed interval [min, max].
• Method Summary

All Methods
Modifier and Type Method Description
`boolean` `contains​(double x)`
Returns true if this interval contains the specified value.
`boolean` `equals​(Object other)`
Compares this transaction to the specified object.
`int` `hashCode()`
Returns an integer hash code for this interval.
`boolean` `intersects​(Interval1D that)`
Returns true if this interval intersects the specified interval.
`double` `length()`
Returns the length of this interval.
`static void` `main​(String[] args)`
Unit tests the `Interval1D` data type.
`double` `max()`
Returns the max endpoint of this interval.
`double` `min()`
Returns the min endpoint of this interval.
`String` `toString()`
Returns a string representation of this interval.
• Methods inherited from class java.lang.Object

`clone, getClass, notify, notifyAll, wait, wait, wait`
• 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