/* Author : Michael Robinson Program : arrayToArrayListAndBack.java Purpose : How to copy Array's data to an ArrayList Modify the ArrayList Copy ArrayList data to a new Array Updated : December 10, 2099 */ import java.util.ArrayList; import java.util.Iterator; public class arrayToArrayListAndBack { public static void arraysToListAndBack() { //create Array array1 System.out.println( "-Creating Array array1" ); String array1[] = { "one ","square","two ", "three", "cube", "seven" }; //create an ArrayList object System.out.println("-Creating ArrayList list1"); ArrayList list1 = new ArrayList(); //add Array array1 to ArrayList list1 System.out.println( "\n-Copying Array array1 to" + " ArrayList list" ); for( String elements : array1 ) { list1.add( elements ); System.out.printf( " %s", elements ); } //create another Array array2 System.out.println( "-Creating Array array2" ); String array2[] = { "four", "triangle", "five", "cone", "six", "eight" }; //add Array array2 to ArrayList list1 System.out.println( "\n-Copying Array array2 to " + "ArrayList list" ); for( String elements : array2 ) { list1.add( elements ); System.out.printf( " %s", elements ); } System.out.println( "\n" ); //create Iterator itr to travel through the Arraylist //list System.out.println( "-Create Iterator itr to " + "travel through the Arraylist list" ); Iterator itr = list1.iterator(); //use hasNext() and next() methods of Iterator to //iterate through the elements System.out.println( "-Iterating through ArrayList " + "list1 elements..." ); while( itr.hasNext() ) { System.out.print( " " + itr.next() ); } System.out.println( "\n" ); System.out.println( "- Using the new Iterator itr2 we copy" + " the elements in the even locations " + "\n to a new array of length 10 called" + "array3, and the elements in the odd " + "locations to a new array of length 10" + " called array4" ); System.out.println( "\n- Create Iterator itr2 to travel" + " thru the Arraylist list." + "\n In Java Iterators can NOT be reset" + " to the beginning of the list " + "\n to travel the list again we must " + "create a new Iterator." ); //create a new iterator itr2 to copy element to new bigger //arrays Iterator itr2 = list1.iterator(); System.out.println( "\n-Creating two new arrays of length" + " 10 each. array3 and array4" ); //create two arrays of size 10 each String array3[] = new String[ 10 ]; String array4[] = new String[ 10 ]; System.out.println( "\n-Copying even elements in list1 to" + " array3 and odd elements to array4" ); //copy even elements in list1 to array3 and odd elements //to array4 int x = 0; int y = 0; int z = 0; while( itr2.hasNext() ) { if( (x % 2) == 0 ) //copy even elements in list to array3 { array3[z] = itr2.next(); System.out.print( " array3[" + z + "] = " + array3[z] + "\t" ); z++; } else //copy odd elements in list to array4 { array4[y] = itr2.next(); System.out.println( "array4[" + y + "] = " + array4[y]); y++; } x++; } z = 0; System.out.println( "\n-Displaying the elements in list1" + " of length " + list1.size() ); for( x = 0; x < list1.size(); x++ ) { System.out.print( " " + list1.get(x) + "\t" ); z++; if( z == 2 ) { System.out.println(); z = 0; } } z = 0; System.out.println( "\n-Displaying the elements in array3" + " of length " + array3.length); for( x = 0; x < array3.length; x++ ) { System.out.print( " " + array3[x] + "\t" ); z++; if( z == 2 ) { System.out.println(); z = 0; } } z = 0; System.out.println( "\n-Displaying the elements in array4" ); for( x = 0; x < array4.length; x++ ) { System.out.print( " " + array4[x] + "\t" ); z++; if( z == 2 ) { System.out.println(); z = 0; } } System.out.println( "\n" ); }//end arraysToListAndBack() public static void main( String arg[] ) { arraysToListAndBack(); } }//end public class arrayToArrayListAndBack