Java中List类中toArray()方法的功能简介说明

书欣 Java教程 发布时间:2022-10-26 21:47:50 阅读数:18417 1
下文笔者讲述list中toArray()方法的功能简介说明,如下所示
toArray()方法的功能:
     就是返回一个Object数组
	 其核心原理是使用Arrays.copyOf方法将元素都复制到数组中
源码分析
list.toArray()方法示例: 

public Object[] toArray() {
    return Arrays.copyOf(elementData, size);
}
//参数说明
// transient Object[] elementData; 
//存放list中的各个元素
// private int size; list中元素的个数


toArray(T[] a)泛型数组方法
//用于接收T类型的数组
//返回一个T类型的数组 (常用)

//源码如下所示
public <T> T[] toArray(T[] a) {
	//当传入的数组的长度小于list中的元素个数
    if (a.length < size)
	    //通过Arrays.copyOf()方法进行拷贝
        //内部会创建一个T类型的数组, 长度为size, 和a就没有关系了
        return (T[]) Arrays.copyOf(elementData, size, a.getClass());
    //当传入的数组的长度大于等于list中的元素个数,则直接将elementData中的元素拷贝到a中
    System.arraycopy(elementData, 0, a, 0, size);
    //当传入的数组的长度大于list中的元素个数, 将a[size]赋值为null 
    if (a.length > size)
        a[size] = null;
    return a;
}
例:
toArray(T[] a)的使用示例
例1:将list转为一维数组
List<String> list = new ArrayList<>();
list.add("java265");
list.add("maomao");
list.add("java265.com");
list.add("我最爱java开发");
String[] strs = list.toArray(new String[0]);
System.out.println(Arrays.toString(strs));
 
  
例2:将list转为二维数组
List<int[]> list = new ArrayList<>();
list.add(new int[]{88,11});
list.add(new int[]{99,22});
list.add(new int[]{10,20});
list.add(new int[]{44,88}); 
int[][] arr = list.toArray(new int[0][]);
for(int[] t : arr){
    System.out.println(Arrays.toString(t));
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202210/4720.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者