How can I convert a Collection to an Array then back to a Collection?

Brandon Rohlfs

The Collection interface provides a mechanism to turn a Collection into an Array using the methods <T> T[] toArray(T[] a) or Object[] toArray(). The first method will return a Array containing all the elements of the Collection with the array being that of the type provided in the method call. The second method just returns an array being of an Object[] type.

The Arrays class provides the opposite. A way to turn an array into a List using the List<T> asList(Array[] a) method. The List returned is of a fixed length with any attempts to add an element throwing an UnsupportedOperationException.

import java.util.*;

public class G{
 public static void main(String[] args){
  List<String> sun = new ArrayList<String>();
  sun.add("Feel"); 
  sun.add("the"); 
  sun.add("power");
  sun.add("of");
  sun.add("the");
  sun.add("Sun");
  String[] s1 = sun.toArray(new String[0]); //Collection to array 
  for(int i = 0; i < s1.length; ++i){
   String contents = s1[i];
    System.out.print(contents);
  } 
  System.out.println();
  List<String> sun2 = Arrays.asList(s1); //Array back to Collection
  for(String s2: sun2){
   String s3 = s2; System.out.print(s3); 
  } 
  //sun2.add(new String("Hello")); // throws UnsupportedOperationException 
  } 
 }
0 Comments  (click to add your comment)
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

About | Sitemap | Contact