String first = "01 apple & 3 orange & 22 choco";
String second = "11 apple & 02 orange & 03 choco";
22+03=25
这里可以使用Stream API来构建水果/数量地图并计算总值:
第一个
和第二个
字符串的流flatmap
获取成对的流
流“number fruit”string[]
collectors.groupingby
+collectors.summingInt
构建映射映射
,计算每个水果的总数“choco”
Integer chocoTotal = Stream.of(first, second) // Stream<String> initial strings
.flatMap(str -> Arrays.stream(str.split("\\s*&\\s*"))) // split each line and get Stream<String>
.map(pair -> pair.split("\\s+")) // split pairs, Stream<String[]>
.collect(Collectors.groupingBy(
p -> p[1],
Collectors.summingInt(p -> Integer.parseInt(p[0]))
))
.get("choco"); // get the total
System.out.println("Total: " + chocoTotal);
输出
Total: 25
Pattern pairPattern = Pattern.compile("(\\d+)\\s+(\\w+)");
Integer sum2 = Stream.of(first, second)
.flatMap(str -> pairPattern.matcher(str).results()) // Stream<MatchResult>
.collect(Collectors.groupingBy(
mr -> mr.group(2),
Collectors.summingInt(mr -> Integer.parseInt(mr.group(1)))
))
.get("choco");
System.out.println("Total = " + sum2);
Total: 25
问题内容: 我的下面的代码当机(调试错误!R6010 abort()已被调用)。你能帮助我吗?我也想知道如何从字符串值初始化json对象。 问题答案: 您好,这很简单: 1-您需要一个CPP JSON值对象(Json :: Value)来存储数据 2-使用Json Reader(Json :: Reader)读取JSON字符串并解析为JSON对象 3-做你的东西:) 这是执行这些步骤的简单代码:
我在写一个简单的信息管理程序的代码。我在Java swing GUI中遇到了麻烦。在这段代码中,我计划在Northpanel_center中使用JTextField字符串,以便在NorthPanel_East中使用。但我不能用它。 要补充的是,类似这样的搜索方法。
位置值是从我们的服务器获取的,以字符串格式,现在我定义了新的位置,之后我想获取经度和纬度,但它是0.0。代码是这样的。
以下是我所做的: 我得到一个空数组。如果我从字符串中删除“、”和“”,它将给我一个带有['cocoa'、'tiger']的数组,这是我想要的实际输出。 我想得到输出 从绳子上 请帮我想出一个解决办法。提前谢谢。
我想从文件中读取文件夹tar.gz名称,并创建包含名称的列。 我使用这个代码: 在主文件夹中,只有少数几个文件夹具有名称。从文件夹“X”(例如)读取csv文件后,应在此csv文件中创建“FolderName”列,并且必须包含所有行的文件夹名称(“X”)。对于每个csv文件也是如此。 路径字符串的示例:或
问题内容: 我有一个像 从上面的字符串中,我需要获取一个值。 当我使用替换所有功能。 当字符串有两个点时,这将不起作用。 浮点值的位置可能有所不同。 问题答案: 首先丢弃所有非float字符,然后像这样隐秘给Float: