Java集合框架详细总结 (3)

Java集合框架详细总结

2.3增强for()

增强for循环(for each循环)是JDk1.5之后的一个高循环,专门用来遍历数组和集合的,所有的数组跟单列集合都可以使用。它的内部原理就是一个迭代器Iterator,所以在遍历过程中,不能对集合元素进行增删操作。

语法:

 for(类型 变量 : 数组/集合){// 数组或者集合里的每一项赋值给这个变量
  // 循环体
 }

【参考代码】

         String[] student = {"小明","小红","小蓝"};
 //       // 传统遍历方式
 //       for (int i = 0; i < student.length; i++) {
 //           System.out.println(student[i]);
 //       }
 
         // 增强for
         for(String c : student){
             System.out.println(c);
        }
 
  --------------------------------
         List<Integer>list = new ArrayList<Integer>();
         list.add(123);
         list.add(234);
         list.add(456);
         for(Integer n : list){
             System.out.println(n);
        }

注:增强for必须有被遍历的目标。目标只能是数组或者Collection,而它仅仅作为遍历操作实现

2.4迭代器注意事项

迭代器是一次性对象。我们不能重置迭代器,它不能被重用。

要再次遍历同一集合的元素,请通过调用集合的iterator()方法来创建一个新的Iterator。

三:泛型 3.1泛型概述

在前面学习集合时,我们知道集合时可以存放任意对象的,只要把对象存储集合后,它们都会被向上转型提升为Object类型。当我们要取出这些对象时必须进行类型强制转换,由Object类型变为原来的类型。

Java集合框架详细总结

3.2泛型的优缺点

不使用泛型:

 - 好处:集合默认类型是Object类,可以存储任意类型的数据
 - 弊端:不安全,会引发异常,需要强转。
 public static void main(String[] args) {
         List list = new ArrayList();
         list.add("小明");
         list.add("小红");
         for (int i = 0; i < list.size(); i++) {
         String s= (String)list.get(i) // 强转
             System.out.println(s);
        }
    }
 

使用泛型:

好处:避免了类型强制转化的麻烦,存的什么类型,取出来的也是什么类型;代码运行之后才会抛出异常,写代码时不会报错

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zysxpf.html