Java中数组与LinkedList的相互转换


 数组,LinkedList:双向链表
数组便于查找,链表便于插入。两个各有千秋,讲两者之间的优点的博客很多,但是怎样转换的博客却少见。所以在这里,我只是总结一下,Java中怎样调用类库函数,完成两者间相互转换。

# 数组转LinkedList #

LinkedList linklist=new LinkedList(Arrays.asList(array));

# LinkedList转数组 #

方法一:`String[]  array1= (String[]) linklist.toArray(new String [0]);`


方法二:`String[] array2= new String[linklist.size()];
       linklist.toArray(array2); `

数组转换链表的是调用了Arrays.asList方法

    static List asList(T… a)
返回由指定数组支持的固定大小的列表。

链表转数组有两个方法的原因LinkedList的两种toArray方法:

> **Object[] toArray()**
> 以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。

> **T[] toArray(T[] a)**
> 以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素); 返回的数组的运行时类型是指定数组的运行时类型。

相关