gpt4 book ai didi

java-8 - JavaFX : ObsevableMap keySet as an ObservableSet

转载 作者:行者123 更新时间:2023-12-01 15:34:23 28 4
gpt4 key购买 nike

我想将 ObservableMap 的 keySet 转换为只读 ObservableSet。我不想复制值,对 ObservableMap 的任何修改都必须影响 Observable keySet。如果我将另一个集合绑定(bind)到可观察的键集内容,其内容会自动更新。

这就是我想写的。

ObservableMap<String, Object> map = FXCollections.observableHashMap();
ObservableSet<String> keySet = FXCollections.observableKeySet(map);
Set<String> boundSet = new HashSet<String>();
Bindings.bindContent(boundSet, keySet);
map.put("v", new Object());
assert boundSet.contains("v");

JavaFX SDK 中是否有此功能?

最佳答案

您请求的功能不需要特殊的ObservableSet。它已经是 Map 接口(interface)契约的一部分:

ObservableMap<String, Object> map = FXCollections.observableHashMap();
Set<String> keySet = map.keySet();
map.put("v", new Object());
assert keySet.contains("v");

Map 的键集始终反射(reflect)对支持映射所做的更改。

<子> http://docs.oracle.com/javase/8/docs/api/java/util/Map.html#keySet--

Returns a Set view of the keys contained in this map. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa.

关于java-8 - JavaFX : ObsevableMap keySet as an ObservableSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25842780/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com