package Plan.GenericDemo;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import org.junit.Test;public class Demo1 { public static void main(String[] args) { // ArrayList// <>称之为typeof// E称之为类型参数变量// ArrayList 中的Integer称之为实际类型参数// ArrayList 称之为泛型类型。犹如Map // ArrayList 称之为参数化的类型(ParameterizedType) { System.out.println("runing"); List list = new ArrayList(); list.add("item1 String"); list.add(1); list.add(1.2); list.add(new Integer(1)); Iterator iter = list.iterator(); while (iter.hasNext()) { Object item = iter.next(); if(item.getClass()==int.class) { System.out.println("--look out! int " + item); } else if(item.getClass()==Integer.class) { System.out.println("--look out! Integer " + item); } else { System.out.println(item.getClass().toString()); } System.out.println("That is " + item); } } { List listStr = new ArrayList (); listStr.add("I am ..."); Iterator iter = listStr.iterator(); while (iter.hasNext()) { String str = iter.next(); System.out.println("This is " + str); } for(String str:listStr) { System.out.println(str+" !!!!!!!!!!!!!!"); } System.out.println("exit"); } { } } @Test public void Test1() { Map map=new HashMap(); map.put("k1", 0); map.put("k2", 1); map.put(1.2, 2); map.put("k4", "sdfsdf"); map.put("k5", 4); map.put("k6", 5); } @Test public void Test2() { //注意使用泛型时,泛型类型必须是引用数据类型,不能使基本数据类型 Map map=new HashMap (); //可以不用Integer(0),直接用0.因为jdk5支持装箱 map.put("k1", 0); map.put("k2", 1); map.put("k3", 2); map.put("k4", 3); map.put("k5", 4); map.put("k6", 5); map.put("k7", null); { System.out.println("Keyset:"); Set set=map.keySet(); Iterator iter = set.iterator(); while(iter.hasNext()) { String str=iter.next(); System.out.println(str); } } { System.out.println("\r\nentrySet:"); map.entrySet(); Set >set=map.entrySet(); System.out.println("\r\n迭代器遍历:"); Iterator > iter = set.iterator(); while(iter.hasNext()) { Map.Entry entry=iter.next(); System.out.println(entry.getKey()+" = "+entry.getValue()); } System.out.println("\r\n增强for循环:(注意:HashMap没有实现Iterable借口,所以不能使用;而需要用entrySet得到set)"); for(Map.Entry entryItem:set) { //jdk5支持装箱支持拆箱 System.out.println(entryItem.getKey()+" : "+entryItem.getValue()); } } } @Test public void Test3() { //Type mismatch: cannot convert from ArrayList to ArrayList