Java中List类中toArray()方法的功能简介说明
下文笔者讲述list中toArray()方法的功能简介说明,如下所示
toArray(T[] a)的使用示例
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)); }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。