- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Map<String, List<SomeClass>> someMap
我正在检索基于 someKey
的值对于 SomeClass 列表的每个元素,我正在执行其他操作。
someMap.getOrDefault(someKey, new ArrayList<>()).forEach(...)
someKey
时记录消息.我如何才能以最佳方式实现它?有没有其他功能/方法可以实现这种行为?
最佳答案
Map<String, List<String>> map = new HashMap<>();
List<String> l = new ArrayList<>();
l.add("b");
map.put("a", l);
.compute()
.
map.compute("a", (k, v) -> {
if (v == null) {
System.out.println("Key Not Found");
return new ArrayList<>();
}
return v;
}).forEach(System.out::println);
computeIfAbsent()
如果键不存在,它只会计算 lambda。
Attempts to compute a mapping for the specified key and its current mapped value (or null if there is no current mapping).
map.keySet().removeAll(listToRemove);
关于Java Map - 在 getOrDefault 中找不到 key 时的日志消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62398056/
getOrDefault 是 java.util.Map 的默认方法,已在 Java 8 中引入。getOrDefault 方法返回给定键的值,如果没有与该键关联的值,则指定的默认值为回来。找到方法签
我想在从一个页面重定向到另一个页面时获取 flashAttribute 并将其设置为模型。我尝试使用这段代码: Map map = RequestContextUtils.getInputFlashM
Java 的 getOrDefault 是一个很好的构造,用于单行访问 map 值或起点(如果不存在)。我在 C++ 中的 map 引用中没有看到任何带有并行的东西。有什么东西存在还是它是你自己的?
像这样尝试获取 Map 的 getOrDefault: String test = map.getOrDefault("test", "") 但它给了我一个错误“必需的?但有一个字符串”。无论如何要解
这发生在我尝试使用 Gradle 构建时。由于字符串是对象,因此似乎没有理由发生此错误: No signature of method: java.util.HashMap.getOrDefault(
如果我在文本框页面中提供一些值,那么我会得到正确的输出,但如果我没有在文本框中提供任何值,我希望它将打印默认值。 为此,我使用 Map 类的 getOrDefault() 方法,但仍然没有获得默认值。
List list = hmap.getOrDefault(key,new ArrayList()); list.add(s); hmap.put(key,list); 为什么我需要再次使用hmap.
我有一个带有以下签名的 map (某种多 map ): Map> motherChildIndex; 如果映射中不存在该键,我希望它返回一个空集(而不是 null),因此我偶然发现了 getOrDef
是否有更简洁的方法来检查特定索引处是否存在值,例如 list.getOrDefault(index, "defaultValue") .或者甚至在特定索引超出列表范围时执行默认操作。 执行此操作的正常
我有一个 Map> someMap我正在检索基于 someKey 的值对于 SomeClass 列表的每个元素,我正在执行其他操作。 someMap.getOrDefault(someKey, new
我正在编写一个 Android 应用程序,我正在使用一个 Java 类,该类具有如下循环: for (Set itemset : candidateList2) { supportCountM
我注意到,如果我执行 map.getOrDefault("key1", new Object()),即使 map 中的 key1 存在对象,new Object() 已创建。虽然它不是由该方法返回的,
Java8 引入了那些不错的方法 getOrDefault() 和 putIfAbsent(),允许编写如下代码: Map> itemsByFoo = ... List bars = itemsByF
我有一个 HashMap : HashMap hmap = new HashMap<>(); 我想增加 HashMap 值的地方。为了避免nullPointer Exception如果 key 不存在
我有一个>的映射,我想做的是,如果列表存在,则添加一个字符串到映射值,否则创建一个列表并将其添加到列表中,然后插入到 map 中。s1、s2 是字符串。 代码: Map> map = new Hash
在下面的代码中,我在返回 namespaceMap 时遇到错误。不知道为什么。 getOrDefault 方法应在 HashMap.class 中定义。我尝试按照链接示例中的描述创建一个 Namesp
我在 Android 5.0 的魅族设备上发生崩溃。大多数设备上不会出现此崩溃。 错误是:java.lang.NoSuchMethodError:没有接口(interface)方法 getOrDefa
我是一名优秀的程序员,十分优秀!