JAVA中List与Array之间互换

1、List转Array


ArrayList<String> list = new ArrayList<String>();
list.add("dff1");
list.add("dff2");
list.add("dff3");
list.add("dff4");
list.add("dff5");
String[] array = new String[list.size()];
String[] s=list.toArray(array);
System.out.println(Arrays.toString(s));

最好用new的方式构建,因为toArray默认转换为Object[]对象!

 

2、Array转List


String[] string=new String[]{"s1","s2","s3","s4","s5"};

List<String> li= Arrays.asList(string);

System.out.println(li);

 

3、Array、ArrayList和Vector的区别

a. Array是表态连续分配的一片内存区域,与ArrayList相比、不能动态改变大小,通过Arrays进行sort、binarySearch等操作;

b. ArrayList是继承自List的可动态改变大小的数组,和Array一样要求连续分配,内部封闭了一个Object数组,许多方法直接调用Arrays实现;

c. Vector和ArrayList功能基本一致,但Vector是线程安全的。

效率由高到低依次为:Array、ArrayList、Vector。

上一篇:SAP学习的一个“自作聪明”


下一篇:Struts2 漏洞复现之s2-001