集合框架-增强for

来源:互联网 发布:直播平台用户数据分析 编辑:程序博客网 时间:2024/06/05 16:19

3:增强for循环(掌握)

(1)是for循环的一种

(2)格式:

    for(元素的数据类型 变量名 : 数组或者Collection集合的对象) {

        使用该变量即可,该变量其实就是数组或者集合中的元素。

    }

(3)好处:

    简化了数组和集合的遍历

(4)弊端

    增强for循环的目标不能为null。建议在使用前,先判断是否为null。

package cn.itcast_01;import java.util.ArrayList;import java.util.List;/* * JDK5的新特性:自动拆装箱,泛型,增强for,静态导入,可变参数,枚举 *  * 增强for:是for循环的一种。 *  * 格式: * for(元素数据类型 变量 : 数组或者Collection集合) { *使用变量即可,该变量就是元素 *   } *    * 好处:简化了数组和集合的遍历。 *  * 弊端: 增强for的目标不能为null。 * 如何解决呢?对增强for的目标先进行不为null的判断,然后再使用。 */public class ForDemo {public static void main(String[] args) {// 定义一个int数组int[] arr = { 1, 2, 3, 4, 5 };for (int x = 0; x < arr.length; x++) {System.out.println(arr[x]);}System.out.println("---------------");// 增强forfor (int x : arr) {System.out.println(x);}System.out.println("---------------");// 定义一个字符串数组String[] strArray = { "林青霞", "风清扬", "东方不败", "刘意" };// 增强forfor (String s : strArray) {System.out.println(s);}System.out.println("---------------");// 定义一个集合ArrayList<String> array = new ArrayList<String>();array.add("hello");array.add("world");array.add("java");// 增强forfor (String s : array) {System.out.println(s);}System.out.println("---------------");List<String> list = null;// NullPointerException// 这个s是我们从list里面获取出来的,在获取前,它肯定还好做一个判断// 说白了,这就是迭代器的功能if (list != null) {for (String s : list) {System.out.println(s);}}// 增强for其实是用来替代迭代器的// ConcurrentModificationException// for (String s : array) {// if ("world".equals(s)) {// array.add("javaee");//  }// }// System.out.println("array:" + array);}}
package cn.itcast_01;import java.util.ArrayList;import java.util.Iterator;/* * ArrayList存储字符串并遍历。要求加入泛型,并用增强for遍历。 * A:迭代器 * B:普通for * C:增强for */public class ArrayListDemo {public static void main(String[] args) {// 创建集合对象ArrayList<String> array = new ArrayList<String>();// 创建并添加元素array.add("hello");array.add("world");array.add("java");// 遍历集合// 迭代器Iterator<String> it = array.iterator();while (it.hasNext()) {String s = it.next();System.out.println(s);}System.out.println("------------------");// 普通forfor (int x = 0; x < array.size(); x++) {String s = array.get(x);System.out.println(s);}System.out.println("------------------");// 增强forfor (String s : array) {System.out.println(s);}}}
package cn.itcast_01;import java.util.ArrayList;import java.util.Iterator;/* * 需求:ArrayList存储自定义对象并遍历。要求加入泛型,并用增强for遍历。 * A:迭代器 * B:普通for * C:增强for *  * LinkedList,Vector,Colleciton,List等存储我还讲吗?不讲解了,但是要求你们练习。 *  * 增强for是用来替迭代器。 */public class ArrayListDemo2 {public static void main(String[] args) {// 创建集合对象ArrayList<Student> array = new ArrayList<Student>();// 创建学生对象Student s1 = new Student("林青霞", 27);Student s2 = new Student("貂蝉", 22);Student s3 = new Student("杨玉环", 24);Student s4 = new Student("西施", 21);Student s5 = new Student("王昭君", 23);// 把学生对象添加到集合中array.add(s1);array.add(s2);array.add(s3);array.add(s4);array.add(s5);// 迭代器Iterator<Student> it = array.iterator();while (it.hasNext()) {Student s = it.next();System.out.println(s.getName() + "---" + s.getAge());}System.out.println("---------------");// 普通forfor (int x = 0; x < array.size(); x++) {Student s = array.get(x);System.out.println(s.getName() + "---" + s.getAge());}System.out.println("---------------");// 增强forfor (Student s : array) {System.out.println(s.getName() + "---" + s.getAge());}}}
package cn.itcast_01;public class Student {// 成员变量private String name;private int age;// 构造方法public Student() {super();}public Student(String name, int age) {super();this.name = name;this.age = age;}// 成员方法// getXxx()/setXxx()public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}


0 0
原创粉丝点击