欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java中List转Array的两种主要方式,

来源: javaer 分享于  点击 21972 次 点评:246

Java中List转Array的两种主要方式,


目录
  • 一、List转Array介绍
  • 二、List的toArray()方法
  • 三、Collection的toArray()方法
  • 附:Array 转 List
  • 总结

一、List转Array介绍

在JAVA编程中,List和Array都是很常见的数据类型。它们都可以储存多个相同类型的元素,由于使用场景不同,某些情况下需要将List转换成Array。List转换成Array主要有两种方式:

1. 利用List的toArray()方法;

2. 利用Collection的toArray()方法。

二、List的toArray()方法

List的toArray()方法可以将List类型的集合转换为数组类型,其实现方式如下: 

        List<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Python");
        list.add("JavaScript");

        //String[] strings = new String[list.size()];
        //list.toArray(strings);
        String[] strings = list.toArray(new String[list.size()]);
        System.out.println(Arrays.toString(strings));
        //[Java, Python, JavaScript]

上述代码中,通过list.toArray(array)将List类型的集合转换成String类型的数组。

需要注意的是,在List类型转换成数组时,需要预先声明数组类型及其大小。

三、Collection的toArray()方法

public Object[] toArray();

public <T> T[] toArray(T[] a);

Collection的toArray()方法可以将Collection类型的集合转换为数组类型,使用方式如下:

        Collection<String> collection = new ArrayList<>();
        collection.add("Java");
        collection.add("Python");
        collection.add("JavaScript");

        Object[] objects = collection.toArray();
        String[] strings = Arrays.copyOf(objects, objects.length, String[].class);
        System.out.println(Arrays.toString(strings));
        //[Java, Python, JavaScript]

public <T> T[] toArray(T[] a)的使用

        在toArray参数中直接确定使用什么数据类型来接受,T代表数据类型,[]代表的是数组,即在toArray()方法中传入一个具体数据类型的数组即可。直接返回的就是具体数据类型的数组对象。

长度定义方式一:直接给0即new String[0],如果长度不够,系统会自动加长度,这样就消耗了系统的资源。

长度定义方式二:长度给的过长,但是这些多余的长度还在系统中存在,就形成了一个内存的浪费。

长度定义方式三:就是在定义String[]数组的时候,使用集合的长度来定义数组的长度,因为集合的长度已经定了,其元素的个数也已经定了。

上述代码实现了Collection类型转换成String类型数组的功能。

需要注意的是,Collection的toArray()方法在执行时,需要传入指定类型的类型参数,否则会抛出ClassCastException类型的异常。

附:Array 转 List

String[] string=new String[]{"s1","s2","s3","s4","s5"};
List<String> li= Arrays.asList(string);
System.out.println(li);

总结

到此这篇关于Java中List转Array的两种主要方式的文章就介绍到这了,更多相关Java List转Array内容请搜索3672js教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持3672js教程!

您可能感兴趣的文章:
  • Java集合List与Array的相互转换
相关栏目:

用户点评