您可以将 String
数组的所有元素转换为 int
并将它们存储在 int
数组中,如下所示:
public static final void main(String[] args) {
String input = "1 2 5 17 23 12 5 72 123 74 13 19 32";
String[] strAr = input.split(" ");
int[] output = parseIntArray(strAr);
}
private static int[] parseIntArray(String[] strAr) {
// convert to int[] one by one
int[] output = new int[strAr.length];
for (int i = 0; i < strAr.length; i++) {
output[i] = Integer.parseInt(strAr[i]);
}
return output;
}
如何在 Java 中以 map-reduce 方式编写 parseIntArray(String[])
方法?
我听说在 Java 8 中有一种使用 lambda 执行此操作的简单方法。在 Java 8 之前是否也有一种 map-reduce 时尚方法来执行此操作?我知道这是两个问题合二为一;但是我相信它们之间的关系如此密切,社区最好将这两个答案放在一页上。
最佳答案
一种写法是:
private static int[] parseIntArray(String[] strAr) {
return Stream.of(strAr).mapToInt(Integer::parseInt).toArray();
}
你也可以直接从字符串开始:
private static final Pattern splitOnSpace = Pattern.compile(" ");
private static int[] parseIntArray(String str) {
return splitOnSpace.splitAsStream(str).mapToInt(Integer::parseInt).toArray();
}
关于java - 在 Java 中将 String[] 的所有元素转换为 int[] 的 Mapreduce 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29606812/