使用Java 8更新列表中映射中的值可以通过以下步骤实现:
List<Map<String, Integer>> list = new ArrayList<>();
Map<String, Integer> map1 = new HashMap<>();
map1.put("key1", 1);
map1.put("key2", 2);
list.add(map1);
Map<String, Integer> map2 = new HashMap<>();
map2.put("key3", 3);
map2.put("key4", 4);
list.add(map2);
forEach
方法结合compute
方法来实现。例如,更新列表中第一个映射中"key1"的值为10:list.forEach(map -> map.compute("key1", (key, value) -> value != null ? value + 10 : null));
list.forEach(System.out::println);
完整的示例代码如下:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Main {
public static void main(String[] args) {
List<Map<String, Integer>> list = new ArrayList<>();
Map<String, Integer> map1 = new HashMap<>();
map1.put("key1", 1);
map1.put("key2", 2);
list.add(map1);
Map<String, Integer> map2 = new HashMap<>();
map2.put("key3", 3);
map2.put("key4", 4);
list.add(map2);
list.forEach(map -> map.compute("key1", (key, value) -> value != null ? value + 10 : null));
list.forEach(System.out::println);
}
}
这段代码将会输出更新后的列表中的映射值:
{key1=11, key2=2}
{key3=3, key4=4}
这样就成功地使用Java 8更新了列表中映射的值。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云云数据库MySQL。
领取专属 10元无门槛券
手把手带您无忧上云