Collection_Generics2
Note: The choices to make, strict data type protection or relaxed with the data type. This example is one of the unorthodox type, and is used to compare Collections and Generics. 
Recap:
  • Generics: A generic type is a generic class or interface that uses type parameters
    • Raw Type : Vector vector1 = new Vector()
    • Parameterized Type :
      Vector<String> vector1 = new Vector<String>()
      List<String> list = new ArrayList<String>();
Collection to Generics (used Eclipse ::Kepler)
Processing with List

Entry Point with main method:( image splitted into two)

 
Code:
import java.io.*;
import javax.swing.JOptionPane;
import java.net.URI; 
import java.util.*;

public class ClassTemplate1 {

 public ClassTemplate1() {
		// TODO Auto-generated constructor stub	
	}
public static void main(String[] args) 
		throws Exception {
		// TODO Auto-generated method stub]
	try {
	//Without Generic
	List alist = new ArrayList();
	alist.add("hello");// at  index 0
	alist.add(123); // at index 1
	int n1 = (int)alist.get(1); //casting integer
	String s1 = (String) alist.get(0);//casting string
	System.out.println("--->- printing non-generic");
	System.out.println("\t printing variables: after casting ");
	System.out.print("\t"+s1 + " , " +  n1 ); 
	System.out.println("");
	System.out.println("Non-Gereic : print with iterator::indexed");
	Process.roller(alist);// calling a method 
	 //with Generic
	List<Object>  olist = new ArrayList<Object>();
	olist.add("a string as : Hello");
	olist.add("string and int "+ 123);
	olist.add( 456 );
	Object s2 = olist.get(0);   // no cast
	Object s3 = olist.get(1); 
	Object s4 = olist.get(2);
	//displaying data 
	System.out.println("");
	System.out.println("---->> print generics : ");
	System.out.println("\t printing variables :no casting");
	System.out.print("\t"+s2 + " " +  s3 + " " +s4);
	System.out.println("");
	System.out.println("Generics :print with iterator::indexed");
	Process.roller(olist);
	//
  } catch (NumberFormatException exc) { 
	  //Process
	  }
   }
}// end of class template 
//
//Processing with ListIterator
class Process
{
public Process() { 
System.out.println("Process outer constructor");
}
	
   public static void roller(List<Object>   list)
   {
 ListIterator<Object>  iter = list.listIterator();          
 System.out.print("\t");
 while(iter.hasNext())
 { System.out.print(iter.nextIndex()+
 " : " + iter.next() +", ");   
	   } 
   }
}
	
Runtime Views: