LinkedList T[] toArray(T[] a) method Example Program


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 list 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.)

Program

package com.candidjava;

import java.util.LinkedList;

/**
 * 
 * @author : mohan
 * @description :The java.util.LinkedList.toArray(T[] a) method 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
 */
public class LinkedListToArray {
	public static void main(String[] args) {
		LinkedList list = new LinkedList();
		list.add("anandh");
		list.add("hari");
		list.add("vinoth");
		list.add("mohan");
		list.add("kamal");
		list.add("vinoth");
		System.out.println("LinkedList:" + list);
		Object[] array = list.toArray(new Object[4]);
		for (int i = 0; i < list.size(); i++) {
			System.out.println("Array:" + array[i]);
		}
	}
}

Output

LinkedList:[anandh, hari, vinoth, mohan, kamal, vinoth]
Array:anandh
Array:hari
Array:vinoth
Array:mohan
Array:kamal
Array:vinoth

Explanation

public 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 list 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.)

Like the toArray() method, this method acts as bridge between array-based and collection-based APIs. Further, this method allows precise control over the runtime type of the output array, and may, under certain circumstances, be used to save allocation costs.

Suppose x is a list known to contain only strings. The following code can be used to dump the list into a newly allocated array of String:

     String[] y = x.toArray(new String[0]);
Note that toArray(new Object[0]) is identical in function to toArray().

Specified by:
toArray in interface Collection

Specified by:
toArray in interface List

Overrides:
toArray in class AbstractCollection

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


Related Post

Comments


©candidjava.com