众所周知,Java没有原生优雅的基本类型装入容器的方法。目前,只能使用基于流(Stream)和基于循环的。
考虑两种装入方法:
- 基于循环的
int[] nums = {1, 2, 3, 4, 5, 6, 7, 8};
ArrayList<Integer> list = new ArrayList<>();
for (int i: nums) {
list.add(i);
}
- 基于流的
int[] nums = {1, 2, 3, 4, 5, 6, 7, 8};
Integer[] boxedNums = Arrays.stream(nums)
.boxed()
.toArray(Integer[]::new);
ArrayList<Integer> list = new ArrayList<>(Arrays.asList(boxedNums));
分别运行一千万次,时间如下(毫秒):
循环 | 流 |
---|---|
704 | 1477 |