Java学习笔记之JDK1.5新特性(二):增强for循环
2017-09-29 10:46
609 查看
package com.collection.jdk15; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import org.junit.Test; /* JDK1.5新特性 ---> 增强for循环 增强for循环的作用:简化迭代器的书写格式; 增强for循环的适应范围:如果是实现了Iterable接口的对象或者是数组对象都可以使用增强for循环; 增强for循环的格式: for (变量类型 变量名 : 遍历的目标){ } 增强for循环的注意事项: 1、增强for循环底层也是使用了迭代器来实现的,只不过获取迭代器有jvm完成;所以在增强for循环遍历元素的过程中, 不能使用集合对象的方法对元素的个数进行修改; 2、迭代器与增强for循环的区别:使用迭代器遍历集合的元素时,可以删除集合的元素;而增强for循环遍历集合的时候, 不能调用集合的remove()方法删除元素; 3、普通for循环和增强for循环的区别:普通for循环可以没有遍历的目标,而增强for循环必须要有遍历的目标; */ public class Demo2 { private static Set<String> set = new HashSet<String>(); static{ set.add("张三"); set.add("李四"); set.add("王五"); } // 使用迭代器迭代所有元素 @Test public void test1(){ // 遍历集合元素 Iterator<String> it = set.iterator(); while (it.hasNext()){ System.out.println(it.next()); } } // 使用增强for循环遍历所有元素 @Test public void test2(){ for (String str : set){ System.out.println(str); } for (String str : set){ System.out.println(str); set.remove("张三"); // 错误 } } // 遍历数组 @Test public void test3(){ int[] arr = {2, 4, 8, 5}; // 普通for循环遍历 for (int i = 0; i < arr.length; i++){ System.out.println("普通for循环:" + arr[i]); } // 增强for循环遍历 for (int i : arr){ System.out.println("增强for循环:" + i); } } // 普通for循环与增强for循环的区别 @Test public void test4(){ // 需求:输出5句Hello World for (int i = 0; i < 5; i++){ System.out.println("Hello World"); } // 增强for循环就比较麻烦 // for (String str : 遍历目标){ // // } } // 使用增强for循环遍历Map集合 @Test public void test5(){ Map<String, String> map = new HashMap<String, String>(); map.put("001", "张三"); map.put("002", "李四"); map.put("003", "王五"); // 注意:Map集合没有实现 Iterable 接口,所以Map集合不能直接使用增强for循环; // 需要将Map集合转换成Set集合; Set<Entry<String, String>> entrySets = map.entrySet(); for (Entry<String, String> entry : entrySets){ String key = entry.getKey(); String value = entry.getValue(); System.out.println(key + " --- " + value); } } }
相关文章推荐
- Java学习笔记之JDK1.5新特性(四):自动装箱和自动拆箱
- Java学习笔记之JDK1.5新特性(一):静态导入
- JAVA JDK1.5新特性<静态带入、可变参数、增强For循环、自动装箱及自动拆箱>
- 黑马程序员_学习笔记:11) Jdk5.0新特性:增强for循环、可变参数(...)、静态导入、枚举:关键字 enum、自动拆装箱、泛型
- Java学习笔记之JDK1.5新特性(三):可变参数
- 黑马程序员_java基础加强学习笔记之(JDK1.5新特性)
- 黑马程序员 java学习笔记 Day9:JDK1.5新特性
- Java学习笔记之JDK1.5新特性(五):枚举类
- JDK 1.5 新特性学习笔记(3)
- 黑马程序员—Java学习笔记之集合框架(三)以及1.5新特性
- Java学习笔记:for-each增强for循环
- 黑马程序员——JAVA基础之JDK1.5新特性高级for循环和可变参数
- JAVA学习第二十七课(多线程(六))- 多生产者多消费者问题(JDK1.5新特性)
- Java学习笔记22 jdk5.0新特性
- 黑马程序员_java jdk5.0新特性和枚举的学习笔记
- JDK1.5新特性5-增强for循环
- 一个JDK1.5的新特性:枚举学习笔记
- JDK 1.5 新特性学习笔记(1)
- Java学习笔记——JDK1.7的新特性。
- 黑马程序员——JAVA学习笔记——Jdk5.0新特性