如何在Java8中转换多个If-Else梯形图
我有Array
的Strings
的形式
[field1, Expected: 60,got: 70,field2, Expected: 80,got: 90, field3, Expected: 90,got: 70]
从这个array
我正在把它构建成List<HashMap<String,String>>
以下是我迄今为止所做的尝试
List<HashMap<String,String>> getErroMap(String [] err){
List<HashMap<String,String>> listErrorMap = new ArrayList<HashMap<String,String>>();
HashMap<String,String> errorMap=null;
byte count = 0;
for (String arr : err) {
if(count == 0 ) {
errorMap = new HashMap<String, String>();
errorMap.put("object",arr.replaceAll(".import", ""));
}else if (count >0) {
String key = count ==1?"Expected":"Found";
if(arr.contains(":")) {
String[] tokens = arr.split(":");
errorMap.put(key, tokens[1]);
}else {
errorMap.put(key, arr);
}
}
if(count >= 2) {
listErrorMap.add(errorMap);
count = 0 ;
}else {
count++;
}
}
return listErrorMap;
}
并获得期望的产出
[{'object':field1,"Expected":60,"Found":70},{'object':'field2','Expected':80,'Found':90 ..and so on ]
因为我是新来的Java 8
我想我做了很多代码来实现简单的事情。如何使用java 8
来改进这一点
# 1 楼答案
要获得所需的结果,需要返回
List<List<HashMap<String,String>>>
,这不是理想的干净结果最好按照建议创建一个自定义类,并创建
List<CustomClass>
。 例如:然后,可以创建一个循环:
# 2 楼答案
下面是你想要的
输入:
输出: