Class Interval<E extends java.lang.Number>

  • 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 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

      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 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.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

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

      • Interval

        public Interval​(E lowerBound,
                        E upperBound)
        Konstruiert ein Intervall aus den übergebenen Grenzen.
        Parameters:
        lowerBound - die untere Grenze
        upperBound - die obere Grenze
    • 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)
        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 java.lang.Comparable<E extends java.lang.Number>
      • equals

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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object