Class Interval<E extends Number>

java.lang.Object
de.kappich.pat.gnd.utils.Interval<E>
All Implemented Interfaces:
Comparable<Interval<E>>

public class Interval<E extends Number> extends Object implements Comparable<Interval<E>>
Eine generische Klasse zur Verwaltung von Intervallen von Zahlen.

Die Klasse Interval 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.

  • Constructor Summary

    Constructors
    Constructor
    Description
    Interval(E lowerBound, E upperBound)
    Konstruiert ein Intervall aus den übergebenen Grenzen.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
     
    boolean
     
    Gibt ein neues Intervall zurück, dass dieselben unteren und oberen Schranken besitzt, und auch denselben Zählerwert.
    int
    Der Getter des Zählers.
    Der Getter der unteren Grenze.
    Der Getter der oberen Grenze.
    int
    Der Hashcode eines Intervalls hängt nur von der oberen und unteren Grenze ab, nicht aber vom Zähler.
    Gibt die Schnittmenge der beiden Intervalle zurück oder null, wenn der Schnitt leer ist.
    boolean
    Gibt true zurück, wenn die beiden Intervalle im Sinne abgeschlossener Intervalle eine nicht-leere Schnittmenge haben.
    double
    Die Länge eines Intervalls ist die Differenz von oberer und unterer Grenze.
    void
    setCounter(int counter)
    Der Setter des Zählers.
     

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Interval

      public Interval(E lowerBound, E upperBound)
      Konstruiert ein Intervall aus den übergebenen Grenzen.
      Parameters:
      lowerBound - die untere Grenze
      upperBound - die obere Grenze
  • Method Details

    • 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)
      Gibt true 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 oder null, 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 interface Comparable<E extends Number>
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class 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 class Object
      Returns:
      die Summe der Hashcodes der unteren und oberen Grenze
    • toString

      public String toString()
      Overrides:
      toString in class Object