Package de.svws_nrw.core.adt.map
Klasse ListMap2DLongKeys<V>
java.lang.Object
de.svws_nrw.core.adt.map.ListMap2DLongKeys<V>
- Typparameter:
V
- Der Typ der zugeordneten Werte.
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.
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 -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungvoid
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.get1
(long key1) Liefert eine Kopie der Liste aller Values zum Mapping (key1).get12
(long key1, long key2) Liefert eine Kopie der Liste aller Values zum Mapping (key1, key2).get12OrException
(long key1, long key2) Liefert eine Kopie der Liste aller zugeordneten Values zum Mapping (key1, key2).get1OrException
(long key1) Liefert eine Kopie der Liste aller zugeordneten Values zum Mapping (key1).get2
(long key2) Liefert eine Kopie der Liste aller Values zum Mapping (key2).get2OrException
(long key2) Liefert eine Kopie der Liste aller zugeordneten Values zum Mapping (key2).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.getSingle1OrException
(long key1) 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.getSingle2OrException
(long key2) 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.keySet1()
Liefert das Key-Set der Map1.@NotNull Set
<LongArrayKey> keySet12()
Liefert das Key-Set der Map12.keySet2()
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.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.
-
Konstruktordetails
-
ListMap2DLongKeys
public ListMap2DLongKeys()Konstruktor.
-
-
Methodendetails
-
add
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Liefert das Key-Set der Map1.- Gibt zurück:
- das Key-Set der Map1.
-
keySet2
Liefert das Key-Set der Map2.- Gibt zurück:
- das Key-Set der Map2.
-
keySet12
Liefert das Key-Set der Map12.- Gibt zurück:
- das Key-Set der Map12.
-
get1OrException
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
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
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.
-