toArray
public Object[] toArray()
-
Returns an array containing all of the elements in this list in proper sequence (from first to last element).
The returned array will be "safe" in that no references to it are maintained by this list. (In other words, this method must allocate a new array). The caller is thus free to modify the returned array.
This method acts as bridge between array-based and collection-based APIs.
-
-
Specified by:
-
toArray
in interfaceCollection<E>
Specified by:
-
toArray
in interfaceList<E>
Overrides:
-
toArray
in classAbstractCollection<E>
-
-
-
Returns:
- an array containing all of the elements in this list in proper sequence See Also:
-
Arrays.asList(Object[])
toArray
public <T> T[] toArray(T[] a)
-
Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array. If the list fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this list.
If the list fits in the specified array with room to spare (i.e., the array has more elements than the list), the element in the array immediately following the end of the collection is set to null. (This is useful in determining the length of the list only if the caller knows that the list does not contain any null elements.)
-
-
Specified by:
-
toArray
in interfaceCollection<E>
Specified by:
-
toArray
in interfaceList<E>
Overrides:
-
toArray
in classAbstractCollection<E>
-
-
-
Parameters:
-
a
- the array into which the elements of the list are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.
Returns:
- an array containing the elements of the list Throws:
-
ArrayStoreException
- if the runtime type of the specified array is not a supertype of the runtime type of every element in this list -
NullPointerException
- if the specified array is null
-
示例代码:
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class TestList { public static void main(String[] args) { Integer[] a = {1,34,56,23,36,72,85,99}; Arrays.sort(a); for (int s:a ) { System.out.println(s); } // List<Integer> list = new ArrayList<Integer>(); //数组转list //Arrays.asList()返回一个受指定数组支持的固定大小的列表。所以不能做Add、Remove等操作。 // list = Arrays.asList(a); // list.add(8); // for (Integer m:list ) { // System.out.println(m); // } String[] userid = {"1","2","3"}; //数组转化链表后长度不能改变 不能进行remove和add // List<String> userList = Arrays.asList(userid); // userList.remove(0); // for (String m:userList ) { // System.out.println(m); // } //解法一 可变长度列表 List<String> list = new ArrayList<String>(Arrays.asList(userid)); list.remove(0); for (String m:list ) { System.out.println(m); } //解法二 可变长度列表 List<String> userList = new ArrayList<String>(userid.length); for(String uid: userid){ userList.add(uid); System.out.println(uid); } //list转数组 List<String> list1 = new ArrayList<String>(); list1.add("aa"); list1.add("bb"); list1.add("cc"); list1.add("dd"); Object[] obj = list1.toArray(); //如果要变成String数组,需要强转类型。 //解法一 String[] strs = (String[]) list1.toArray(new String[0]); for(String x: strs){ System.out.println(x); } //解法二 String[] strs1 = list1.toArray(new String[list1.size()]); for(String x: strs1){ System.out.println(x); } // 解法三 循环添加 String[] newStr = new String[list1.size()]; for(int i = 0; i < list1.size();i++){ newStr[i] = list1.get(i); System.out.println(newStr[i]); } } }