String 如何使用lambda表达式或流生成映射的所有键和值的单个字符串
映射属性映射=新树映射 如何制作上述示例的单个字符串 输出是c、c2、c3、c4和FIRSTNAMe、LASTNAMe、'1111',ABCNAMeString 如何使用lambda表达式或流生成映射的所有键和值的单个字符串,string,lambda,collections,java-8,java-stream,String,Lambda,Collections,Java 8,Java Stream,映射属性映射=新树映射 如何制作上述示例的单个字符串 输出是c、c2、c3、c4和FIRSTNAMe、LASTNAMe、'1111',ABCNAMe Predicate<String> predicate = "1111"::equals; String left = attributeMap.keySet().stream().map(String::toLowerCase).collect(Collectors.joining(",")); String
Predicate<String> predicate = "1111"::equals;
String left = attributeMap.keySet().stream().map(String::toLowerCase).collect(Collectors.joining(","));
String right = attributeMap.values().stream().map(x -> (predicate.test(x) ? "'" + x + "'" : x)).collect(Collectors.joining(","));
System.out.println(left + right);
我也投票决定结束,你在这里没有表现出任何努力,所以不是关于这件事我试过了,但总是出错如果你试过了,那么问题和添加你试过的代码和你得到的错误。花些时间阅读和,以及如何提供一个可以使用的entryset@valamanoj是的,您可以使用entrySet并进行一些快速的缩减,例如,但我看不到benefitString.join、、attributeMap.keySet.toLowerCase+和+String.join、、attributeMap.values.replaceAll\\b\\d+\\b、,“$0”是,但我想对值进行更改,如添加单引号
Predicate<String> predicate = "1111"::equals;
String left = attributeMap.keySet().stream().map(String::toLowerCase).collect(Collectors.joining(","));
String right = attributeMap.values().stream().map(x -> (predicate.test(x) ? "'" + x + "'" : x)).collect(Collectors.joining(","));
System.out.println(left + right);