目录
一、泛型的使用:以ArrayList为例
使用泛型后:

遍历:
①使用增强for循环
    @Test
    public void test2(){
        ArrayList<Integer> list = new ArrayList<Integer>();  //泛型不能时基本数据类型
        list.add(78);
        list.add(87);
        list.add(99);
        list.add(65);
//        list.add("Tom");
        for(Integer score : list){
            //避免了强转操作
            int stuScore = score;
            System.out.println(stuScore);
        }
    }②使用迭代器
    @Test
    public void test2(){
        ArrayList<Integer> list = new ArrayList<Integer>();  //泛型不能时基本数据类型
        list.add(78);
        list.add(87);
        list.add(99);
        list.add(65);
        Iterator<Integer> iterator = list.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
    }二、泛型的使用:以HashMap为例
    @Test
    public void test3(){
        Map<String,Integer> map = new HashMap<String,Integer>();
        map.put("Tom",87);
        map.put("Jerry",87);
        map.put("Jack",67);
        Set<Map.Entry<String, Integer>> entry = map.entrySet();   //泛型的嵌套
        Iterator<Map.Entry<String, Integer>> iterator = entry.iterator();
        while (iterator.hasNext()){
            Map.Entry<String, Integer> e = iterator.next();
            String key = e.getKey();
            Integer value = e.getValue();
            System.out.println(key + "------>" + value);
        }
    }三、总结
- 集合接口或集合类在jdk5.0时都修改为带泛型的结构
- 在实例化集合类时,可以指明具体的泛型类型
- 在指明完以后,在集合类或接口中凡是定义类或接口时,内部结构(比如:方法、属性、构造器等)使用到类的泛型的位置,都指定为实例化时的泛型类型。
- 注意泛型类型必须是类,不能是基本数据类型。需要使用到基本数据类型的位置,用包装类进行替换
- 如果实例化时,没有指明泛型的类型。默认类型为:java.lang.Object类型










