java - 将字符串数组转换为整数列表?

标签 java arrays list arraylist type-conversion

这不是一个重复的问题,因为我特别要求将字符串数组转换为整数列表。换句话说,同时转换不同类型的列表和不同的对象类型。

import java.util.*;
import java.util.stream.Collectors;

String[] allAnswers = {"2", "4", "1"}

int[] allAnswersInts = Arrays.stream(allAnswers).mapToInt(Integer::parseInt).toArray();

List<Integer> allAnswerList = Arrays.stream(allAnswersInts).boxed().collect(Collectors.toList());

有没有更快或更实用的方法来做到这一点?

最佳答案

您只需直播一次。

而不是使用 int Integer::parseInt(String s) ,你应该使用Integer Integer::valueOf(String s) ,因此您不必调用 boxed() 或依赖自动装箱。

然后直接使用collect(Collectors.toList()),而不是先创建中间数组。

List<Integer> allAnswerList = Arrays.stream(allAnswers)    // stream of String
                                    .map(Integer::valueOf) // stream of Integer
                                    .collect(Collectors.toList());

关于java - 将字符串数组转换为整数列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52509610/

相关文章:

java - 我可以/应该将 ConcurrentMap 与我自己的缓存一起使用吗?

java - 创建对象时是否应该创建变量只是为了调用单个方法?

arrays - 将 NSObjects 插入静态数组 Swift [快捷方式]

java - 在java中将数组列表添加到二维数组列表

java - 在 Akka 中向 BroadcastGroup 添加新地址

java - NullPointerException:LinearLayout 为 Null

javascript - 如何获取数组中两个相同元素的索引元素?

C++ 我知道数组长度,但想知道是否有一种更简洁的方法来定义数组元素

python - 如果索引是时间戳,如何从 pandas 生成列表

list - 在 Haskell 中将内部列表切割成相等的长度