public static void main(String[] args) {
HashMap<String, String> stringStringHashMap = new HashMap<>();
stringStringHashMap.put("ksh","123");
stringStringHashMap.put("kjh","456");
HashMap<String, String> stringStringHashMap1 = new HashMap<>();
stringStringHashMap1.put("ksh","111");
stringStringHashMap1.put("kjh","2221");
HashMap<String, String> stringStringHashMap2 = new HashMap<>();
stringStringHashMap2.put("ksh","333");
stringStringHashMap2.put("kjh","3332");
ArrayList<Map<String, String>> fillEnrolls = new ArrayList<>();
fillEnrolls.add(stringStringHashMap);
fillEnrolls.add(stringStringHashMap1);
fillEnrolls.add(stringStringHashMap2);
List<String> imgFileNames = Arrays.asList("123", "2221","7888");
// || Objects.equals(item, k.get("kjh"))
List<String> missImgs = imgFileNames.stream().filter(item ->
fillEnrolls.stream().noneMatch(k -> Objects.equals(item, k.get("ksh")) || Objects.equals(item, k.get("kjh")))
// fillEnrolls.stream().anyMatch(k -> Objects.equals(item, k.get("ksh")))||fillEnrolls.stream().anyMatch(k -> Objects.equals(item, k.get("kjh")))
).collect(Collectors.toList());
//4,更新数据库对应图片路径字段
List<Map<String, String>> matchImages = fillEnrolls.stream().filter(item -> {
if (imgFileNames.stream().anyMatch(k -> Objects.equals(item.get("ksh"), k))) {
item.put("enrollImagePath", item.get("ksh"));
return true;
}
if (imgFileNames.stream().anyMatch(k -> Objects.equals(item.get("kjh"), k))) {
item.put("enrollImagePath", item.get("kjh"));
return true;
}
return false;
}
).collect(Collectors.toList());
System.out.println(missImgs);
System.out.println(matchImages);
}
java8 steam 替代双重for循环
最新推荐文章于 2024-06-14 14:08:37 发布