Package de.kappich.pat.gnd.utils
Class Interval<E extends java.lang.Number>
- java.lang.Object
-
- de.kappich.pat.gnd.utils.Interval<E>
-
- All Implemented Interfaces:
java.lang.Comparable<Interval<E>>
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
dient zur Verwaltung von Intervalle der KlasseE
, die die KlasseNumber
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.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 odernull
, wenn der Schnitt leer ist.boolean
intersects(Interval<E> o)
Gibttrue
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.java.lang.String
toString()
-
-
-
Method Detail
-
getLowerBound
public E getLowerBound()
Der Getter der unteren Grenze.- Returns:
- die untere Grenze
-
getUpperBound
public E getUpperBound()
Der Getter der oberen Grenze.- Returns:
- die obere Grenze
-
getCounter
public int getCounter()
Der Getter des Zählers.- Returns:
- der Zählerwert
-
setCounter
public void setCounter(int counter)
Der Setter des Zählers.- Parameters:
counter
- neue Zählerwert
-
intersects
public boolean intersects(Interval<E> o)
Gibttrue
zurück, wenn die beiden Intervalle im Sinne abgeschlossener Intervalle eine nicht-leere Schnittmenge haben.- Parameters:
o
- ein Intervall- Returns:
true
genau dann, wenn die beiden Intervalle im Sinne abgeschlossener Intervalle eine nicht-leere Schnittmenge haben
-
intersection
@Nullable public Interval<E> intersection(Interval<E> o)
Gibt die Schnittmenge der beiden Intervalle zurück odernull
, wenn der Schnitt leer ist.- Parameters:
o
- ein Intervall- Returns:
- die Schnittmenge oder
null
-
length
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.- Returns:
- die Länge
-
getCopy
public Interval<E> getCopy()
Gibt ein neues Intervall zurück, dass dieselben unteren und oberen Schranken besitzt, und auch denselben Zählerwert.- Returns:
- die Kopie
-
compareTo
public int compareTo(Interval<E> o)
- Specified by:
compareTo
in interfacejava.lang.Comparable<E extends java.lang.Number>
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
Der Hashcode eines Intervalls hängt nur von der oberen und unteren Grenze ab, nicht aber vom Zähler.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- die Summe der Hashcodes der unteren und oberen Grenze
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-