使用Java 8流按列表过滤Map可以通过以下步骤实现:
下面是一个示例代码:
import java.util.*;
import java.util.stream.Collectors;
public class MapFilterExample {
public static void main(String[] args) {
// 创建一个Map
Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
map.put("D", 4);
map.put("E", 5);
// 创建要过滤的键的列表
List<String> filterKeys = Arrays.asList("A", "C", "E");
// 使用流按列表过滤Map
Map<String, Integer> filteredMap = map.entrySet()
.stream()
.filter(entry -> filterKeys.contains(entry.getKey()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
// 打印过滤后的Map
System.out.println(filteredMap);
}
}
这个示例中,我们创建了一个包含键值对的Map,并创建了一个要过滤的键的列表。然后,我们使用流的filter()方法过滤Map的键,只保留存在于filterKeys列表中的键值对。最后,我们使用collect()方法将过滤后的键值对收集到一个新的Map中,并打印出来。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云云数据库MySQL。
云+社区沙龙online[数据工匠]
云+社区技术沙龙[第7期]
Elastic 中国开发者大会
Elastic 中国开发者大会
云+社区技术沙龙[第15期]
Elastic 中国开发者大会
云+社区技术沙龙[第8期]
云+社区技术沙龙[第10期]
领取专属 10元无门槛券
手把手带您无忧上云