@SafeVarargs
public static <K, V, W> void mergeMap(Function<? super W, ? extends V> mapper,
ObservableMap<K, V> into, ObservableMap<K, W>... maps) {
final ObservableMap<K, V> map = into;
for (ObservableMap<K, W> m : maps) {
for (Entry<K, W> entry : m.entrySet()) {
map.put(entry.getKey(), mapper.apply(entry.getValue()));
}
m.addListener((MapChangeListener<K, W>) c -> {
if (c.wasAdded()) {
map.put(c.getKey(), mapper.apply(c.getValueAdded()));
}
if (c.wasRemoved()) {
map.remove(c.getKey());
}
});
}
}
ObservableMergers.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:drd
作者:
评论列表
文章目录