public class Interval<E extends Number> extends Object implements Comparable<Interval<E>>
Die Klasse Interval<E>
dient zur Verwaltung von Intervalle der Klasse E
,
die die Klasse Number
erweitert. Jedes Intervall hat eine Untergrenze und eine Obergrenze,
wobei es keine festgelegte Interpretation gibt, ob diese Werte zum Intervall dazu gehören oder nicht.
Daneben gibt es noch einen Zähler, mit dessen Hilfe ansonsten gleiche Intervalle in einer Menge
koexistieren können.
Modifier and Type | Field and Description |
---|---|
private int |
_counter |
private E |
_lowerBound |
private E |
_upperBound |
Constructor and Description |
---|
Interval(E lowerBound,
E upperBound)
Konstruiert ein Intervall aus den übergebenen Grenzen.
|
Modifier and Type | Method and Description |
---|---|
int |
compareTo(Interval<E> o) |
boolean |
equals(Object o) |
Interval<E> |
getCopy()
Gibt ein neues Intervall zurück, dass dieselben unteren und oberen Schranken
besitzt, und auch denselben Zählerwert.
|
int |
getCounter()
Der Getter des Zählers.
|
E |
getLowerBound()
Der Getter der unteren Grenze.
|
E |
getUpperBound()
Der Getter der oberen Grenze.
|
int |
hashCode()
Der Hashcode eines Intervalls hängt nur von der oberen und unteren Grenze ab, nicht aber vom Zähler.
|
Interval<E> |
intersection(Interval<E> o)
Gibt die Schnittmenge der beiden Intervalle zurück oder
null , wenn der Schnitt leer ist. |
boolean |
intersects(Interval<E> o)
Gibt
true zurück, wenn die beiden Intervalle im Sinne abgeschlossener
Intervalle eine nicht-leere Schnittmenge haben. |
double |
length()
Die Länge eines Intervalls ist die Differenz von oberer und unterer Grenze.
|
void |
setCounter(int counter)
Der Setter des Zählers.
|
void |
setLowerBound(E lowerBound)
Der Setter der unteren Grenze.
|
void |
setUpperBound(E upperBound)
Der Setter der unteren Grenze.
|
String |
toString() |
public E getLowerBound()
public void setLowerBound(E lowerBound)
die
- neue untere Grenzepublic E getUpperBound()
public void setUpperBound(E upperBound)
die
- neue untere Grenzepublic int getCounter()
public void setCounter(int counter)
der
- neue Zählerwertpublic boolean intersects(Interval<E> o)
true
zurück, wenn die beiden Intervalle im Sinne abgeschlossener
Intervalle eine nicht-leere Schnittmenge haben.o
- ein Intervalltrue
genau dann, wenn die beiden Intervalle im Sinne abgeschlossener
Intervalle eine nicht-leere Schnittmenge habenpublic Interval<E> intersection(Interval<E> o)
null
, wenn der Schnitt leer ist.o
- ein Intervallnull
public double length()
public Interval<E> getCopy()
public int compareTo(Interval<E> o)
compareTo
in interface Comparable<Interval<E extends Number>>
public int hashCode()