java:用空键隐藏条目的映射视图?
我有一个java:用空键隐藏条目的映射视图?,java,map,transform,Java,Map,Transform,我有一个映射,它包含一个带有空键的特殊值。改变事情并不容易,所以我没有这个 是否有方法执行以下任一操作: 查看此映射,它也是一个映射,隐藏空键条目 查看映射的keySet(),它隐藏空键条目 我所说的“视图”是指地图中的更改会导致视图中的更改 我认为后者更容易,但我不知道如何做。简单的方法是扩展映射并覆盖适当的方法来检查空键值。这将是: containsKey(Object key) entrySet() get(Object key) keySet() put(K key, V va
映射
,它包含一个带有空键的特殊值。改变事情并不容易,所以我没有这个
是否有方法执行以下任一操作:
- 查看此映射,它也是一个
,隐藏空键条目映射
- 查看映射的
,它隐藏空键条目keySet()
我认为后者更容易,但我不知道如何做。简单的方法是扩展映射并覆盖适当的方法来检查空键值。这将是:
containsKey(Object key)
entrySet()
get(Object key)
keySet()
put(K key, V value)
putAll(Map<? extends K,? extends V> m)
containsKey(对象键)
入口集()
获取(对象键)
键集()
输入(K键,V值)
putAll(Map如果带有null键的值是一种特殊情况,并且不打算在访问条目时使用,为什么它会出现在映射中?是否有原因决定将其放入映射中而不是使用不同的字符串变量
听起来,使用不同的方法比尝试扩展映射以使其具有某些特殊属性更容易。这也将更明确地表明此字符串值是一个特殊值,而不会让未来的开发人员绊倒,他们必须在您之后查看此代码。I u塞德番石榴;效果很好
Maps.filterKeys(mymap, new Predicate<String>() {
@Override public boolean apply(String key) { return key != null; }
}),
Maps.filterKeys(mymap,新谓词(){
@重写公共布尔应用(字符串键){return key!=null;}
}),
请在标题中保留“java”。我无法告诉您我在“相关”下搜索了多少次问题或看到了多少次问题,这听起来很有希望,但问题所指的语言与我需要学习的语言不同