Klasse ListMap2DLongKeys<V>

java.lang.Object
de.svws_nrw.core.adt.map.ListMap2DLongKeys<V>
Typparameter:
V - Der Typ der zugeordneten Werte.

public class ListMap2DLongKeys<V> extends Object
Diese 2D-List-Map ordnet 2 Schlüssel auf eine Liste von Werten (V) ab.
Diese spezielle Map stellt Zugriffsmethoden für alle Kombinationen der Schlüssel auf die Werte (V) zur Verfügung.
Die Einfüge-Reihenfolge bleibt bei allen Listen erhalten.
Ein Entfernen aus der Datenstruktur ist im Allgemeinen nicht sinnvoll, da jeder Löschvorgang O(n) Laufzeit hat und zusätzlich bei den folgenden Zugriffen alle Cache-Maps neu aufgebaut werden müssen.
  • Konstruktorübersicht

    Konstruktoren
    Konstruktor
    Beschreibung
    Konstruktor.
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    void
    add(long key1, long key2, V value)
    Fügt das Element hinzu.
    void
    addEmpty(long key1, long key2)
    Erzeugt den Pfad (key1, key2) fügt aber nichts hinzu.
    boolean
    containsKey1(long key1)
    Liefert TRUE, falls es den Schlüssel (key1) gibt.
    boolean
    containsKey12(long key1, long key2)
    Liefert TRUE, falls es den Schlüssel (key1, key2) gibt.
    boolean
    containsKey2(long key2)
    Liefert TRUE, falls es den Schlüssel (key2) gibt.
    @NotNull List<V>
    get1(long key1)
    Liefert eine Kopie der Liste aller Values zum Mapping (key1).
    @NotNull List<V>
    get12(long key1, long key2)
    Liefert eine Kopie der Liste aller Values zum Mapping (key1, key2).
    @NotNull List<V>
    get12OrException(long key1, long key2)
    Liefert eine Kopie der Liste aller zugeordneten Values zum Mapping (key1, key2).
    @NotNull List<V>
    get1OrException(long key1)
    Liefert eine Kopie der Liste aller zugeordneten Values zum Mapping (key1).
    @NotNull List<V>
    get2(long key2)
    Liefert eine Kopie der Liste aller Values zum Mapping (key2).
    @NotNull List<V>
    get2OrException(long key2)
    Liefert eine Kopie der Liste aller zugeordneten Values zum Mapping (key2).
    @NotNull List<V>
    Gibt eine flache Liste aller Values in dieser 2D-ListMap zurück.
    getSingle12OrException(long key1, long key2)
    Liefert das zugeordnete Element zum Mapping (key1, key2), falls es genau eines gibt, andernfalls wird eine Exception geworfen.
    getSingle12OrNull(long key1, long key2)
    Liefert das zugeordnete Element zum Mapping (key1, key2), falls es genau eines gibt, andernfalls NULL.
    Liefert das zugeordnete Element zum Mapping (key1), falls es genau eines gibt, andernfalls wird eine Exception geworfen.
    getSingle1OrNull(long key1)
    Liefert das zugeordnete Element zum Mapping (key1), falls es genau eines gibt, andernfalls NULL.
    Liefert das zugeordnete Element zum Mapping (key2), falls es genau eines gibt, andernfalls wird eine Exception geworfen.
    getSingle2OrNull(long key2)
    Liefert das zugeordnete Element zum Mapping (key2), falls es genau eines gibt, andernfalls NULL.
    @NotNull Set<Long>
    Liefert das Key-Set der Map1.
    @NotNull Set<LongArrayKey>
    Liefert das Key-Set der Map12.
    @NotNull Set<Long>
    Liefert das Key-Set der Map2.
    remove(long key1, long key2)
    Entfernt den Pfad (key1, key2) aus der Map.
    void
    removeAllByKey1(long key1)
    Entfernt alle Einträge, bei denen der erste Schlüssel (key1) übereinstimmt.
    void
    removeAllByKey2(long key2)
    Entfernt alle Einträge, bei denen der zweite Schlüssel (key2) übereinstimmt.
    @NotNull List<V>
    removeOrException(long key1, long key2)
    Entfernt den Pfad (key1, key2) aus der Map.
    removeSingleOrException(long key1, long key2)
    Entfernt den Pfad (key1, key2) aus der Map.
    void
    removeValueOrException(long key1, long key2, V value)
    Entfernt den Wert aus der zur Zuordnung (key1, key2) gehörenden Value-Liste.

    Von Klasse geerbte Methoden java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Konstruktordetails

    • ListMap2DLongKeys

      public ListMap2DLongKeys()
      Konstruktor.
  • Methodendetails

    • add

      public void add(long key1, long key2, @NotNull V value)
      Fügt das Element hinzu.
      Parameter:
      key1 - Der 1. Schlüssel.
      key2 - Der 2. Schlüssel.
      value - Der zugeordnete Wert. Der Wert NULL ist nicht erlaubt.
    • addEmpty

      public void addEmpty(long key1, long key2)
      Erzeugt den Pfad (key1, key2) fügt aber nichts hinzu. Alle Pfad, die es vorher nicht gab, verweisen dann auf leere Listen.
      Parameter:
      key1 - Der 1. Schlüssel.
      key2 - Der 2. Schlüssel.
    • removeValueOrException

      public void removeValueOrException(long key1, long key2, @NotNull V value)
      Entfernt den Wert aus der zur Zuordnung (key1, key2) gehörenden Value-Liste. Falls es den Pfad (key1) oder (key1, key2) nicht gibt, wird eine Exception geworfen. Alle Caches der Map werden gelöscht und müssen beim ersten Zugriff neu aufgebaut werden.
      Parameter:
      key1 - Der 1. Schlüssel.
      key2 - Der 2. Schlüssel.
      value - Der zu entfernende Wert.
    • remove

      public List<V> remove(long key1, long key2)
      Entfernt den Pfad (key1, key2) aus der Map. Alle Caches der Map werden gelöscht und müssen beim ersten Zugriff neu aufgebaut werden.
      Parameter:
      key1 - Der 1. Schlüssel.
      key2 - Der 2. Schlüssel.
      Gibt zurück:
      der bisherige Wert zu (key1, key2) oder null, falls nicht existent.
    • removeOrException

      @NotNull public @NotNull List<V> removeOrException(long key1, long key2)
      Entfernt den Pfad (key1, key2) aus der Map. Falls es den Pfad (key1) oder (key1, key2) nicht gibt, wird eine Exception geworfen. Alle Caches der Map werden gelöscht und müssen beim ersten Zugriff neu aufgebaut werden.
      Parameter:
      key1 - Der 1. Schlüssel.
      key2 - Der 2. Schlüssel.
      Gibt zurück:
      der bisherige Wert zu (key1, key2)
    • removeSingleOrException

      @NotNull public V removeSingleOrException(long key1, long key2)
      Entfernt den Pfad (key1, key2) aus der Map. Wirft eine DeveloperNotificationException, falls in der gemappten Liste das Element nicht als einziges enthalten ist. Falls es den Pfad (key1) oder (key1, key2) nicht gibt, wird eine Exception geworfen. Alle Caches der Map werden gelöscht und müssen beim ersten Zugriff neu aufgebaut werden.
      Parameter:
      key1 - Der 1. Schlüssel.
      key2 - Der 2. Schlüssel.
      Gibt zurück:
      der bisherige Wert zu (key1, key2)
    • removeAllByKey1

      public void removeAllByKey1(long key1)
      Entfernt alle Einträge, bei denen der erste Schlüssel (key1) übereinstimmt. Falls kein Eintrag zu key1 existiert, passiert nichts. Alle Caches der Map werden gelöscht und müssen beim ersten Zugriff neu aufgebaut werden.
      Parameter:
      key1 - Der 1. Schlüssel.
    • removeAllByKey2

      public void removeAllByKey2(long key2)
      Entfernt alle Einträge, bei denen der zweite Schlüssel (key2) übereinstimmt. Falls kein Eintrag zu key2 existiert, passiert nichts. Alle Caches der Map werden gelöscht und müssen beim ersten Zugriff neu aufgebaut werden.
      Parameter:
      key2 - Der 2. Schlüssel.
    • getAllValues

      @NotNull public @NotNull List<V> getAllValues()
      Gibt eine flache Liste aller Values in dieser 2D-ListMap zurück. Die Einfüge-Reihenfolge der einzelnen Listen bleibt erhalten.
      Gibt zurück:
      eine flache Liste aller enthaltenen Werte
    • containsKey1

      public boolean containsKey1(long key1)
      Liefert TRUE, falls es den Schlüssel (key1) gibt.
      Parameter:
      key1 - Der 1. Schlüssel.
      Gibt zurück:
      TRUE, falls es den Schlüssel (key1) gibt.
    • containsKey2

      public boolean containsKey2(long key2)
      Liefert TRUE, falls es den Schlüssel (key2) gibt.
      Parameter:
      key2 - Der 2. Schlüssel.
      Gibt zurück:
      TRUE, falls es den Schlüssel (key2) gibt.
    • containsKey12

      public boolean containsKey12(long key1, long key2)
      Liefert TRUE, falls es den Schlüssel (key1, key2) gibt.
      Parameter:
      key1 - Der 1. Schlüssel.
      key2 - Der 2. Schlüssel.
      Gibt zurück:
      TRUE, falls es den Schlüssel (key1, key2) gibt.
    • get1

      @NotNull public @NotNull List<V> get1(long key1)
      Liefert eine Kopie der Liste aller Values zum Mapping (key1).
      Parameter:
      key1 - Der 1. Schlüssel.
      Gibt zurück:
      eine Liste aller Values in dieser Zuordnung.
    • get2

      @NotNull public @NotNull List<V> get2(long key2)
      Liefert eine Kopie der Liste aller Values zum Mapping (key2).
      Parameter:
      key2 - Der 2. Schlüssel.
      Gibt zurück:
      eine Liste aller Values in dieser Zuordnung.
    • get12

      @NotNull public @NotNull List<V> get12(long key1, long key2)
      Liefert eine Kopie der Liste aller Values zum Mapping (key1, key2).
      Parameter:
      key1 - Der 1. Schlüssel.
      key2 - Der 2. Schlüssel.
      Gibt zurück:
      eine Liste aller Values in dieser Zuordnung.
    • getSingle1OrNull

      public V getSingle1OrNull(long key1)
      Liefert das zugeordnete Element zum Mapping (key1), falls es genau eines gibt, andernfalls NULL.
      Parameter:
      key1 - Der 1. Schlüssel.
      Gibt zurück:
      das zugeordnete Element zum Mapping (key1), falls es genau eines gibt, andernfalls NULL.
    • getSingle2OrNull

      public V getSingle2OrNull(long key2)
      Liefert das zugeordnete Element zum Mapping (key2), falls es genau eines gibt, andernfalls NULL.
      Parameter:
      key2 - Der 2. Schlüssel.
      Gibt zurück:
      das zugeordnete Element zum Mapping (key2), falls es genau eines gibt, andernfalls NULL.
    • getSingle12OrNull

      public V getSingle12OrNull(long key1, long key2)
      Liefert das zugeordnete Element zum Mapping (key1, key2), falls es genau eines gibt, andernfalls NULL.
      Parameter:
      key1 - Der 1. Schlüssel.
      key2 - Der 2. Schlüssel.
      Gibt zurück:
      das zugeordnete Element zum Mapping (key1, key2), falls es genau eines gibt, andernfalls NULL.
    • getSingle1OrException

      @NotNull public V getSingle1OrException(long key1) throws DeveloperNotificationException
      Liefert das zugeordnete Element zum Mapping (key1), falls es genau eines gibt, andernfalls wird eine Exception geworfen.
      Parameter:
      key1 - Der 1. Schlüssel.
      Gibt zurück:
      das zugeordnete Element zum Mapping (key1), falls es genau eines gibt, andernfalls wird eine Exception geworfen.
      Löst aus:
      DeveloperNotificationException - falls nicht genau ein Element zugeordnet ist.
    • getSingle2OrException

      @NotNull public V getSingle2OrException(long key2) throws DeveloperNotificationException
      Liefert das zugeordnete Element zum Mapping (key2), falls es genau eines gibt, andernfalls wird eine Exception geworfen.
      Parameter:
      key2 - Der 2. Schlüssel.
      Gibt zurück:
      das zugeordnete Element zum Mapping (key2), falls es genau eines gibt, andernfalls wird eine Exception geworfen.
      Löst aus:
      DeveloperNotificationException - falls nicht genau ein Element zugeordnet ist.
    • getSingle12OrException

      @NotNull public V getSingle12OrException(long key1, long key2) throws DeveloperNotificationException
      Liefert das zugeordnete Element zum Mapping (key1, key2), falls es genau eines gibt, andernfalls wird eine Exception geworfen.
      Parameter:
      key1 - Der 1. Schlüssel.
      key2 - Der 2. Schlüssel.
      Gibt zurück:
      das zugeordnete Element zum Mapping (key1, key2), falls es genau eines gibt, andernfalls wird eine Exception geworfen.
      Löst aus:
      DeveloperNotificationException - falls nicht genau ein Element zugeordnet ist.
    • keySet1

      @NotNull public @NotNull Set<Long> keySet1()
      Liefert das Key-Set der Map1.
      Gibt zurück:
      das Key-Set der Map1.
    • keySet2

      @NotNull public @NotNull Set<Long> keySet2()
      Liefert das Key-Set der Map2.
      Gibt zurück:
      das Key-Set der Map2.
    • keySet12

      @NotNull public @NotNull Set<LongArrayKey> keySet12()
      Liefert das Key-Set der Map12.
      Gibt zurück:
      das Key-Set der Map12.
    • get1OrException

      @NotNull public @NotNull List<V> get1OrException(long key1)
      Liefert eine Kopie der Liste aller zugeordneten Values zum Mapping (key1).
      Parameter:
      key1 - Der 1. Schlüssel.
      Gibt zurück:
      eine Liste aller Values in dieser Zuordnung.
      Löst aus:
      DeveloperNotificationException - falls es kein Mapping gibt.
    • get2OrException

      @NotNull public @NotNull List<V> get2OrException(long key2)
      Liefert eine Kopie der Liste aller zugeordneten Values zum Mapping (key2).
      Parameter:
      key2 - Der 2. Schlüssel.
      Gibt zurück:
      eine Liste aller Values in dieser Zuordnung.
      Löst aus:
      DeveloperNotificationException - falls es kein Mapping gibt.
    • get12OrException

      @NotNull public @NotNull List<V> get12OrException(long key1, long key2)
      Liefert eine Kopie der Liste aller zugeordneten Values zum Mapping (key1, key2).
      Parameter:
      key1 - Der 1. Schlüssel.
      key2 - Der 2. Schlüssel.
      Gibt zurück:
      eine Liste aller Values in dieser Zuordnung.
      Löst aus:
      DeveloperNotificationException - falls es kein Mapping gibt.