介绍:

在本文中, 我们将快速学习如何将Java List (例如ArrayList )转换为数组,反之亦然。 如果您希望总体上了解有关ArrayList的更多信息,请随时阅读我们有关Java ArrayLists的文章。

同时,让我们开始吧!

将Java

将Java 列表转换为数组非常简单直接。 我们可以使用toArray()方法的两种可用样式之一:

//Returns an Object-type array
Object[] toArray()//Returns an array of type T
T[] toArray(T[] array)

让我们尝试一下:

List<Integer> list = Arrays.asList(1, 2, 3, 4);Object[] arrayOfObjects = list.toArray();
Integer[] arrayOfIntegers = list.toArray(new Integer[list.size()]);

toArray(T [] array)方法接受并返回一个数组。 传递数组的主要目的是通知要返回的数组类型:

  • 如果传入的数组有足够的空间,则将元素存储在同一数组中,并返回对该数组的引用
  • 如果其空间大于元素数,则首先使用列表元素填充数组,并将其余值填充为null
  • 否则,如果没有足够的空间来存储元素,则会创建,填充并返回具有相同类型和足够大小的新数组

将Java数组转换为

要将数组转换为Java中的List ,我们可以选择以下方法之一:

1.天真的方法(迭代):

一种简单的方法是遍历所有数组元素,并将它们添加到新创建的List中:

public <T> List<T> convertArrToList(T[] array) {List<T> list = new ArrayList<>();for(T element : array) {list.add(element);}return list;
}

我们可以使用上述通用方法轻松地转换类型T的数组:

Integer[] arr = {1, 2, 3};
List<Integer> list = c.convertArrToList(arr);

2.

我们还可以在java.util.Arrays类中使用asList()方法来快速构造一个List:

public <T> List<T> convertArrToList(T[] array) {return Arrays.asList(array);
}

此方法接受数组作为其参数。

3.

众所周知, java.util.Collections提供了addAll(Collection c,T ... elements)方法,该方法将所有元素添加到给定的collection c中

由于List继承自Collection接口,因此可以使用此方法来发挥我们的优势:

public <T> List<T> convertArrToList(T[] array) {List<T> list = new ArrayList<>();Collections.addAll(list, array);return list;
}

4. Java 8流:

从Java 8开始,我们首先可以通过Java数组打开流,然后使用Java Stream Collectors将其元素收集在List中

public <T> List<T> convertArrToList(T[] array) {return Arrays.stream(array).collect(Collectors.toList());
}

对于一组原语,我们将有类似以下内容:

int[] array = new int[] { 1, 2, 3 };
List<Integer> list = Arrays.stream(array).boxed().collect(Collectors.toList());

结论:

在本教程中,我们研究了如何将Java List转换为数组。 我们还介绍了在Java中将数组转换为List的另一种情况。

翻译自: https://www.javacodegeeks.com/2019/03/java-convert-list-array-vice-versa.html

Java将列表转换为数组,反之亦然相关推荐

  1. java 数组 列表_用Java将列表转换为数组

    用Java将列表转换为数组 const $source = document.querySelector('#source'); const $result = document.querySelec ...

  2. java中将txt转换为数组_关于android:在Java中将列表转换为数组

    本问题已经有最佳答案,请猛点这里访问. 在Java中,如何将EDCOX1的0度转换为EDCOX1×1? 检查以下代码: ArrayList tiendas; List tiendasList; tie ...

  3. Effective Java之列表由于数组(二十五)

    列表和数组的区别 1.数组是协变的(convariant),如果Sub是Super的子类型,那么数组类型Sub[]就是Super[]的子类型. 泛型确实不可变的,List< Sub >不是 ...

  4. java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)

    java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...

  5. Java中List转换为数组,数组转List

    //List 转换为Array可以这样处理: ArrayList<String> list=new ArrayList<String>();String[] strings = ...

  6. java将一个数字转换为数组_Java 数组

    一维数组 //静态初始化一个数组,不能指定数组长度 int[] arr1=new int[]{1,2,3,4,5};//可简写为 int[] arr1={1,2,3,4,5};//动态初始化一个数组, ...

  7. Lambda表达式将数组/字符串列表转换为数组/整数列表

    1转换List成ListList l1 = Arrays.asList("1", "2", "3");List r1 = l1.stream ...

  8. java把字符串转换为数组

    1. split 函数 通过空字符串作为分隔符 String str = "字符串ABC123";String[] s = str.split("");for( ...

  9. float数组 java_如何在Java中将Float数组列表转换为float数组?

    让我们首先创建一个浮点数组列表-ArrayList  arrList = new ArrayList  (); arrList.add(5.2 f); arrList.add(10.3 f); arr ...

最新文章

  1. Android 插件化原理学习 —— Hook 机制之动态代理
  2. 两篇文章说中断和异常之一
  3. Canny边缘检测原理及C#程序实现
  4. caioj 1063 动态规划入门(一维一边推1:美元和马克)
  5. ywy_c_asm题
  6. 原生javascript实现完整的轮播图
  7. 程序员找不到对象是因为还没遇到一个有远见的丈母娘
  8. JavaEE实战班第二天
  9. Route Class
  10. c++ msflexgrid 使用_丝杠支座组件C
  11. centos7 识别移动硬盘
  12. opencv python3 文本区域识别_使用等高线从图像中提取文本区域 - Opencv,Python
  13. 【linux高级程序设计】(第九章)进程间通信-管道 3
  14. linux共享文件丢失,linux基础应用(NFS文件共享)
  15. JAVA和C#调用CSB服务示例
  16. 使用addClass和removeClass完成内容切换
  17. 使用Python打印爱心
  18. ubutun 滑动 触控板_Ubuntu下触控板手势调节软件xSwipe
  19. 福州市仓山区融丰锦秀山庄别墅设计
  20. CGCTF平台web题writeup

热门文章

  1. 2021“MINIEYE杯”中国大学生算法设计超级联赛(1)zoto(二维数颜色)
  2. 2287. 【POJ Challenge】消失之物(数组递推\分治优化背包)
  3. 照看小猫(nowcoder 217602)
  4. [XSY] 选举(线段树优化dp)
  5. 8、mybatis中的sql映射文件详解(3)
  6. 一文理解Netty模型架构
  7. JavaFX官方教程(七)之使用FXML创建用户界面
  8. 任务调度(三)——Timer的替代品ScheduledExecutorService简介
  9. Hibernate之映射
  10. sql server 2012远程链接的方法及步骤