如何将此源代码转换为lambda?

时间:2019-01-24 06:10:20

标签: java lambda java-8

它由列表对象中的地图组成。我尝试通过循环语句比较具有相同ID的列表。如何转换为lambda?

List<Map<String, String>> combineList = new ArrayList<>(); // Temp List
for(Map titleMap : titleList) { // Name List
   for(Map codeMap : codeList) { // Age List
      if(titleMap.get("ID").equals(codeMap.get("ID"))) { // compare Id
         Map<String,String> tempMap = new HashMap<>();
          tempMap.put("ID", titleMap.get("ID"));
          tempMap.put("NAME", titleMap.get("NAME"));
          tempMap.put("AGE", codeMap.get("AGE"));
          combineList.add(tempMap);
      }
   }
}

2 个答案:

答案 0 :(得分:2)

您已经在以有效的方式进行此操作。因此,如果您希望更改相同的代码以仅使用int[A][B],或者如果要使用流,请执行以下操作:

stream().forEach

请注意,每次您都必须从codeList中进行过滤,因为您的情况就是这样。尝试使用类代替Map,以提高效率,使代码更干净和更有效。

答案 1 :(得分:-1)

已经建议,但可以考虑使用类而不是地图来保持内容的可读性。我将通过以下方式进行此操作:

select()