net.ranides.assira.collection
Class MapUtils

java.lang.Object
  extended by net.ranides.assira.collection.MapUtils

public final class MapUtils
extends Object

Author:
ranides

Field Summary
static MultiMap EMPTY_MULTIMAP
           
 
Method Summary
static
<K,V> Map<K,V>
addAll(Map<K,V> target, List<K> keys, List<V> values)
          Wstawia do docelowej mapy klucze keys z wartościami .
static
<K,V> MultiMap<K,V>
emptyMap()
           
static Map<String,Object> flat(Map<?,?> source)
           
static
<K> Map<K,Object>
flat(Map<?,?> source, K seed, AnyFunction<K> joiner)
           
static
<K,V> Map<K,V>
join(List<K> keys, List<V> values)
          Tworzy nową mapę na podstawie list zawierających klucze i odpowiadające im wartości.
static
<K,V> MultiMap<K,V>
multiJoin(List<K> keys, List<V> values)
          Tworzy nową multi-mapę na podstawie list zawierających klucze i odpowiadające im wartości.
static
<K,V> Map<K,V>
produce(Function<V,K> generator)
           
static
<K,V> Map<K,V>
produce(Set<K> domain, BiFunction<V,K> generator)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY_MULTIMAP

public static final MultiMap EMPTY_MULTIMAP
Method Detail

emptyMap

public static <K,V> MultiMap<K,V> emptyMap()

addAll

public static <K,V> Map<K,V> addAll(Map<K,V> target,
                                    List<K> keys,
                                    List<V> values)
Wstawia do docelowej mapy klucze keys z wartościami . Przekazane listy kluczy i wartości muszą mieć taki sam rozmiar.

Type Parameters:
K -
V -
Parameters:
target -
keys -
values -
Returns:
target

join

public static <K,V> Map<K,V> join(List<K> keys,
                                  List<V> values)
Tworzy nową mapę na podstawie list zawierających klucze i odpowiadające im wartości. Przekazane listy muszą mieć taki sam rozmiar.

Type Parameters:
K -
V -
Parameters:
keys -
values -
Returns:

multiJoin

public static <K,V> MultiMap<K,V> multiJoin(List<K> keys,
                                            List<V> values)
Tworzy nową multi-mapę na podstawie list zawierających klucze i odpowiadające im wartości. Przekazane listy muszą mieć taki sam rozmiar. Klucze mogą się powstarzać.

Type Parameters:
K -
V -
Parameters:
keys -
values -
Returns:

produce

public static <K,V> Map<K,V> produce(Function<V,K> generator)

produce

public static <K,V> Map<K,V> produce(Set<K> domain,
                                     BiFunction<V,K> generator)

flat

public static Map<String,Object> flat(Map<?,?> source)

flat

public static <K> Map<K,Object> flat(Map<?,?> source,
                                     K seed,
                                     AnyFunction<K> joiner)


Copyright © 2013. All Rights Reserved.