2 つの入力マップ間の値の片側交差を返す関数があります。
Map<Key, Value> mergeMaps(Map aKeys<CompositeKey, Key>,
Map <CompositeKey, Value> aValues) {
Map<Key, Value> myResult = Maps.newHashMap();
for (CompositeKey myKey : aKeys.keySet()) {
if (aValues.containsKey(myKey)) {
myResult.put( aKeys.get(myKey), aValues.get(myKey));
}
}
return myResult;
}
これは推移的なマッピング構成ではありません。
T->K, K->V ===> T->V
しかし代わりに変身
T->(K,V) ===> K->V
その署名が次のようになるように、Javaでこの関数を汎用にする方法はありますか?
Map<K, V> mergeMaps(Map aKeys<T, K>, Map <T, V> aValues)