Java中将 int[] 数组 转换为 List(ArrayList)(java int数组转integer数组)

  本篇文章为你整理了Java中将 int[] 数组 转换为 List(ArrayList)(java int数组转integer数组)的详细内容,包含有java int数组转char数组 java int数组转integer数组 java int数组转化成字符串 java int转byte数组 Java中将 int[] 数组 转换为 List(ArrayList),希望能帮助你了解 Java中将 int[] 数组 转换为 List(ArrayList)。

  说起数组转换成 ArrayList,很多同学第一反应就是遍历数组,将元素逐个添加到 ArrayList 中,但是这个看着就lower,一般不会这么答。

  所以马上就会想到Arrays工具类的 asList 方法,如果你这么答,那么恭喜你,答错入坑。

  为什么不能用 Arrays 的 asList 方法将 int[] 装换成 ArrayList

  如果此处数组 int[] 换作是 Integer[] 或者任何一个引用类型元素的数组都正确,Arrays 的 asList 方法只能转换引用类型元素的数组。
 

  asList 方法的源码就是这么定义的:

  

 public static T List T asList(T... a) {

 

   return new ArrayList (a);

  
private static class ArrayList E extends AbstractList E

   implements RandomAccess, java.io.Serializable

  

 

  注意:Arrays.asList(T... a)返回的List中元素是不可变的。
 

  从源码可以看出Arrays.asList(T... a)返回的是一个ArrayList,但是这个ArrayList是Arrays的内部类,不是我们集合框架下的那个ArrayList。

  使用stream进行转换(jdk8 推荐)

  jdk版本低于1.8不可以使用。

  数组通过 Arrays 工具类的 stream() 方法进行流化,获取 Stream 对象。boxed()方法是用来装箱的。

  

int[] arys = {1,2,3};

 

  List Integer list = Arrays.stream(arys).boxed().collect(Collectors.toList());

  

 

  要转化为ArrayList还需要进行一次强制类型转化

  遍历数组,逐个加入元素到List中

  可以使用for、增强for循环、迭代器。
 

  使用for循环遍历数组,性能稍微好那么一丢丢。增强for的本质就是迭代器,写法更加简洁。
 

  这里代码就做展示了。

  以上就是Java中将 int[] 数组 转换为 List(ArrayList)(java int数组转integer数组)的详细内容,想要了解更多 Java中将 int[] 数组 转换为 List(ArrayList)的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: