[英]Convert String to int array in Java the fast way
有誰知道將字符串轉換為int數組的更快方法?
Java V7
給定的格式為“ 4 343 234 -24
”,依此類推。 數字之間的空格,數字量和數字范圍內的范圍
long[] array = new long[length];
for (int i = 0; i < length - 1; i++) {
array[i] = Integer.parseInt(n.substring(0, n.indexOf(' ')));
n = n.substring(n.substring(0, n.indexOf(' ')).length() + 1);
}
array[length - 1] = Integer.parseInt(n);
當您想用單個字符(在您的情況下為空格)分割時,使用String.split()
是最有效的方法。
如果您希望在按空格分割時獲得最大效率,那么這將是一個很好的解決方案:
List<Integer> res = new ArrayList<>();
Arrays.asList(kraft.split(" ")).forEach(s->res.add(Integer.parseInt(s)));
Integer[] result = res.toArray(new Integer[0]);
這適用於任何數量的數字。
如果您使用的是Java8或更高版本,則可以通過編寫以下單行代碼來獲得預期的輸出。
String str= "4 343 234 -24";
int[] intArr=Stream.of(str.split(" ")).mapToInt(Integer::parseInt).toArray();
System.out.println(Arrays.toString(intArr));
用模式\\\\s+
分隔輸入將處理一個或多個空格字符,不僅數字之間出現空格,而且還包括空格。
Stream.of(input.split("\\s+")).mapToInt(Integer::parseInt).toArray();
mapToInt
方法返回提供toArray
方法的IntStream
。 此方法返回一個包含IntStream
元素的IntStream
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.