java List<Map<String, String>>过滤掉部分key和对应的value
时间: 2023-11-11 22:51:04 浏览: 91
Java实现过滤掉map集合中key或value为空的值示例
可以使用Java 8的流(Stream)来过滤List<Map<String, String>>中的key和对应的value。下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Map<String, String>> list = new ArrayList<>();
// 添加一些示例数据
Map<String, String> map1 = new HashMap<>();
map1.put("key1", "value1");
map1.put("key2", "value2");
map1.put("key3", "value3");
list.add(map1);
Map<String, String> map2 = new HashMap<>();
map2.put("key1", "value1");
map2.put("key2", "value2");
map2.put("key3", "value3");
list.add(map2);
// 过滤掉部分key和对应的value
List<Map<String, String>> filteredList = list.stream()
.map(map -> {
// 创建一个新的Map,用于存放过滤后的数据
Map<String, String> filteredMap = new HashMap<>();
for (Map.Entry<String, String> entry : map.entrySet()) {
// 这里根据需要过滤的key进行判断
if (!entry.getKey().equals("key1") && !entry.getKey().equals("key3")) {
// 将符合条件的键值对添加到新的Map中
filteredMap.put(entry.getKey(), entry.getValue());
}
}
return filteredMap;
})
.collect(Collectors.toList());
// 输出过滤后的结果
for (Map<String, String> filteredMap : filteredList) {
System.out.println(filteredMap);
}
}
}
```
输出结果为:
```
{key2=value2}
{key2=value2}
```
阅读全文