Java 如何将流中的一个字符串映射到另一个字符串?
我在返回以下流字符串时遇到了一个大问题。你能帮忙吗 以下是我的清单:Java 如何将流中的一个字符串映射到另一个字符串?,java,list,dictionary,filter,java-stream,Java,List,Dictionary,Filter,Java Stream,我在返回以下流字符串时遇到了一个大问题。你能帮忙吗 以下是我的清单: List<String> dest = Arrays.asList( "bleble bleble 2000", "WAW HAV 1200", "xxx yyy 789", "WAW DPS 2000", "WAW HKT 1000" ); 这对于(..)是必需的。您可以使用map()来spli字符串,并获取所需的元素(第二个和第三个): List result=dest .stream()
List<String> dest = Arrays.asList(
"bleble bleble 2000",
"WAW HAV 1200",
"xxx yyy 789",
"WAW DPS 2000",
"WAW HKT 1000"
);
这对于(..)是必需的。您可以使用map()
来spli字符串,并获取所需的元素(第二个和第三个):
List result=dest
.stream()
.filter(x->x.startsWith(“WAW”))
.map(x->{
字符串[]行=x.split(“”);
返回String.format(“至%s-欧元价格:%s”,
第[1]行,
整数.parseInt(第[2]行]*ratePLNvsEUR);
})
.collect(Collectors.toList());
你想做什么?或者映射(s->split(“”).map(arr->String.format(“to%s-欧元价格:%s”,第[1]行),Integer.parseInt(第[2]行]*ratePLNvsEUR))
*我在之前的评论中犯了简单的复制粘贴错误。相反,或者arr
它应该是row
,因为这就是数组在格式中的引用方式。
enter codedouble ratePLNvsEUR = 4.30;
List<String> result = dest
.stream()
.filter(x -> x.startsWith("WAW"))
//.map() <- how to change "WAW HAV 1200" into "HAV - price in EUR: 5160"
.collect(Collectors.toList());
for (String r : result) System.out.println(r);
List<String> result = dest
.stream()
.filter(x -> x.startsWith("WAW"))
.map(x -> {
String[] row = x.split(" ");
return String.format("to %s - price in EUR: %s",
row[1],
Integer.parseInt(row[2]) * ratePLNvsEUR);
})
.collect(Collectors.toList());