net.ranides.assira.collection.map
Interface MultiMap<K,V>

Type Parameters:
K -
V -
All Superinterfaces:
Map<K,Collection<V>>
All Known Implementing Classes:
MultiHashMap

public interface MultiMap<K,V>
extends Map<K,Collection<V>>

Interfejs definiujący mapę, która może przechowywać więcej niż jedną wartość przypisaną do danego klucza.

Author:
ranides

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Method Summary
 boolean containsItem(V value)
          Sprawdza, czy podana wartość została conajmniej raz przypisana do conajmniej jednego klucza.
 V getFirst(K key)
          Zwraca pierwszą wartość przypisaną do podanego klucza
 V getLast(K key)
          Zwraca ostatnią wartość przypisaną do podanego klucza
 List<V> items()
          Zwraca listę wszystkich przypisanych kluczom wartości.
 int multiSize()
          Zwraca ilość wszystkich przypisań zdefiniowanych w mapie.
 void putItem(K key, V value)
          Dodaje kolejne przypisanie do podanego klucza, nie nadpisując ani nie usuwając poprzednich.
 void putItems(Map<? extends K,? extends V> source)
          Dodaje wszystkie przypisania zdefiniowane w podanej mapie, nie nadpisując ani nie usuwając poprzednich.
 void putItems(MultiMap<? extends K,? extends V> source)
          Dodaje wszystkie przypisania zdefiniowane w podanej multimapie, nie nadpisując ani nie usuwając poprzednich.
 V removeFirst(K key)
          Usuwa pierwszą wartość przypisaną do podanego klucza.
 boolean removeItem(K key, V value)
          Usuwa podane powiązanie.
 V removeLast(K key)
          Usuwa ostatnią wartość przypisaną do podanego klucza.
 
Methods inherited from interface java.util.Map
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Method Detail

containsItem

boolean containsItem(V value)
Sprawdza, czy podana wartość została conajmniej raz przypisana do conajmniej jednego klucza.

Parameters:
value -
Returns:

getFirst

V getFirst(K key)
Zwraca pierwszą wartość przypisaną do podanego klucza

Parameters:
key -
Returns:
{code null} - jeśli brak przypisania

getLast

V getLast(K key)
Zwraca ostatnią wartość przypisaną do podanego klucza

Parameters:
key -
Returns:
{code null} - jeśli brak przypisania

putItem

void putItem(K key,
             V value)
Dodaje kolejne przypisanie do podanego klucza, nie nadpisując ani nie usuwając poprzednich.

Parameters:
key -
value -

removeFirst

V removeFirst(K key)
Usuwa pierwszą wartość przypisaną do podanego klucza. Jeśli do klucza przypisana była tylko jedna wartość, to klucz jest usuwany z mapy.

Parameters:
key -
Returns:
usunięty element lub {code null}, jeśli nie znaleziono przypisania

removeLast

V removeLast(K key)
Usuwa ostatnią wartość przypisaną do podanego klucza. Jeśli do klucza przypisana była tylko jedna wartość, to klucz jest usuwany z mapy.

Parameters:
key -
Returns:
usunięty element lub {code null}, jeśli nie znaleziono przypisania

removeItem

boolean removeItem(K key,
                   V value)
Usuwa podane powiązanie. Operacja usuwa tylko jeden element, więc jeśli podana wartość była przypisana do klucza wielokrotnie, to pozostałe wartości nadal istnieją. Jeśli do klucza przypisana była tylko jedna wartość, to klucz jest usuwany z mapy.

Parameters:
key -
value -
Returns:
true - jeśli znaleziono i usunięto przypisanie

putItems

void putItems(Map<? extends K,? extends V> source)
Dodaje wszystkie przypisania zdefiniowane w podanej mapie, nie nadpisując ani nie usuwając poprzednich.

Parameters:
source -

putItems

void putItems(MultiMap<? extends K,? extends V> source)
Dodaje wszystkie przypisania zdefiniowane w podanej multimapie, nie nadpisując ani nie usuwając poprzednich.

Parameters:
source -

items

List<V> items()
Zwraca listę wszystkich przypisanych kluczom wartości. Jeśli przypisania wartości były wykonywane wielokrotnie (do jednego lub więcej kluczy) to wartości będą się powtarzać.

Returns:

multiSize

int multiSize()
Zwraca ilość wszystkich przypisań zdefiniowanych w mapie. Należy zwrócić uwagę, że metoda size zwraca ilość zdefniowanych kluczy, zaś poniższa zaś metoda zwraca ilość przypisanych wartości.

Returns:


Copyright © 2013. All Rights Reserved.