public class Interval<E extends java.lang.Number> extends java.lang.Object implements java.lang.Comparable<Interval<E>>
Eine generische Klasse zur Verwaltung von Intervallen von Zahlen.
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(java.lang.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.
|
java.lang.String |
toString() |
private E extends java.lang.Number _lowerBound
private E extends java.lang.Number _upperBound
private int _counter
public E getLowerBound()
Der Getter der unteren Grenze.
public void setLowerBound(E lowerBound)
Der Setter der unteren Grenze.
die
- neue untere Grenzepublic E getUpperBound()
Der Getter der oberen Grenze.
public void setUpperBound(E upperBound)
Der Setter der unteren Grenze.
die
- neue untere Grenzepublic int getCounter()
Der Getter des Zählers.
public void setCounter(int counter)
Der Setter des Zählers.
der
- neue Zählerwertpublic boolean intersects(Interval<E> o)
Gibt 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)
Gibt die Schnittmenge der beiden Intervalle zurück oder null
, wenn der Schnitt leer ist.
o
- ein Intervallnull
public double length()
Die Länge eines Intervalls ist die Differenz von oberer und unterer Grenze. Achtung: da keine Überprüfung stattfindet, ob diese Grenzen sinnvolle Werte enthalten oder ihre Relation stimmt, kann das Ergebnis entsprechend ausfallen.
public Interval<E> getCopy()
Gibt ein neues Intervall zurück, dass dieselben unteren und oberen Schranken besitzt, und auch denselben Zählerwert.
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
Der Hashcode eines Intervalls hängt nur von der oberen und unteren Grenze ab, nicht aber vom Zähler.
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object