leetcode奇技淫巧-list转为int数组的几种方法

文章目录

  • 方式一:循环遍历赋值
  • 方式二:jdk8新特性流处理

我们要是转成 String 数组还是蛮好弄的,直接强转,转成 int 数组就有些麻烦了,因为 int 和 Integer 还是有区别的嘛

List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
String[] arr = (String[])list.toArray(new String[list.size()]);

方式一:循环遍历赋值

若是对于 String 类型可以强转来实现,但是 int 类型是不能用的,必须得用遍历的方式或者 java 8 中的流处理

List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
int[] arr = new int[list.size()];
int i = 0;
for (int tmp : list) {
    arr[i++] = tmp;
}

方式二:jdk8新特性流处理

List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
int[] arr = list.stream().mapToInt(Integer::intValue).toArray();

这种写法虽然很美,但是实际效率还是蛮低的,所以 leetcode 刷题不建议使用第二种方式

你可能感兴趣的:(#,LeetCode,奇技淫巧)