用java stream 遍历筛选listmapstringstring 中的 mapstringstring并判断mapgetdept_parent_id是否等于C1000如果等于则返回true再获取到listmapstringstring 中的mapgetshort_name转为String
可以使用Java Stream来遍历和筛选List<Map<String, String>>中的Map<String, String>,并判断map.get("dept_parent_id")是否等于"C1000"。然后,再获取符合条件的map.get("short_name")并转换为String。
示例代码如下:
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("dept_parent_id", "A1000");
map1.put("short_name", "ShortName1");
list.add(map1);
Map<String, String> map2 = new HashMap<>();
map2.put("dept_parent_id", "C1000");
map2.put("short_name", "ShortName2");
list.add(map2);
Map<String, String> map3 = new HashMap<>();
map3.put("dept_parent_id", "C1000");
map3.put("short_name", "ShortName3");
list.add(map3);
// 使用Stream遍历和筛选
boolean isDeptParentIdC1000 = list.stream()
.filter(map -> map.get("dept_parent_id").equals("C1000"))
.findFirst()
.isPresent();
// 获取符合条件的short_name并转换为String
String shortName = list.stream()
.filter(map -> map.get("dept_parent_id").equals("C1000"))
.map(map -> map.get("short_name"))
.findFirst()
.orElse("");
// 输出结果
System.out.println("是否存在dept_parent_id等于C1000的Map: " + isDeptParentIdC1000);
System.out.println("符合条件的short_name: " + shortName);
}
}
运行以上代码,输出结果为:
是否存在dept_parent_id等于C1000的Map: true
符合条件的short_name: ShortName2
以上代码使用Java 8的Stream API来遍历和筛选List<Map<String, String>>中的Map<String, String>。首先使用filter方法过滤出dept_parent_id等于"C1000"的Map,然后使用findFirst方法取得第一个符合条件的Map,最后使用isPresent方法判断是否存在该Map。同时,使用map方法将符合条件的Map的short_name提取出来,并使用findFirst方法取得第一个short_name值,如果不存在则返回空字符串
原文地址: https://www.cveoy.top/t/topic/hzfr 著作权归作者所有。请勿转载和采集!