==============
增强for循环
它的底层实现就是使用Iterator。 什么样的容器可以使用增强for?-----------Iterable 增强for的缺点:只能进行遍历,不能进行在遍历过程中的操作. 增强for的格式 for(类型 引用:容器){ } -------------------------------------------- 关于对集合的遍历. List 1.Iterator 2.增强for 3.普通for 4.ListIterator Set 1.增强for 2.Iterator Map 1.keySet---得到所有的key的Set视图 2.entrySet--得到key-value的set视图==============
对List进行遍历
package cn.itcast.fordemo;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.ListIterator;import java.util.Random;import org.junit.Test;//必会代码//对List进行遍历public class Demo1 { // 1.使用传统的迭代器 @Test public void demo1() { Listlist = new ArrayList (); for (int i = 0; i < 10; i++) { list.add(new Random().nextInt(100)); } // for (Iterator it = list.iterator(); it.hasNext();) { // System.out.println(it.next()); // } Iterator it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } } // 2.使用ListIterator----好处:1.可以向下或向上遍历 2.可以在遍历过程中进行 add set操作. @Test public void demo2() { List list = new ArrayList (); for (int i = 0; i < 10; i++) { list.add(new Random().nextInt(100)); } ListIterator it = list.listIterator(); while (it.hasNext()) { System.out.println(it.next()); } } // 3.使用普通for size get @Test public void demo3() { List list = new ArrayList (); for (int i = 0; i < 10; i++) { list.add(new Random().nextInt(100)); } for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } // 4.增强for @Test public void demo4() { List list = new ArrayList (); for (int i = 0; i < 10; i++) { list.add(new Random().nextInt(100)); } for (int n : list) { System.out.println(n); } }}
对Set集合进行遍历
package cn.itcast.fordemo;import java.util.HashSet;import java.util.Iterator;import java.util.Set;import org.junit.Test;//对Set集合进行遍历public class Demo2 { // 迭代器 @Test public void demo1() { Setset = new HashSet (); // 使用hashCode与equals来维护唯一性. set.add("def"); set.add("123"); set.add("abc"); for (Iterator it = set.iterator(); it.hasNext();) { System.out.println(it.next()); } } //增强for @Test public void demo2(){ Set set = new HashSet (); // 使用hashCode与equals来维护唯一性. set.add("def"); set.add("123"); set.add("abc"); for(String s:set){ System.out.println(s); } }}
map 遍历
package cn.itcast.fordemo;import java.util.HashMap;import java.util.Map;import java.util.Set;import org.junit.Test;//map 遍历public class Demo3 { // 使用keySet @Test public void demo1() { Mapmap = new HashMap (); map.put("first", "aaaa"); map.put("second", "bbbb"); Set keys = map.keySet(); // 在keys中是 first,second for (String key : keys) { System.out.println("KEY:" + key + " VALUE:" + map.get(key)); } } // 使用entrySet @Test public void demo2() { Map map = new HashMap (); map.put("first", "aaaa"); map.put("second", "bbbb"); Set > set = map.entrySet(); for (Map.Entry entry : set) { System.out.println(entry.getKey() + " " + entry.getValue()); } }}
数组也可以使用增强for进行遍历
package cn.itcast.fordemo;import org.junit.Test;public class Demo4 { @Test // 数组也可以使用增强for进行遍历 public void demo() { int[] arr={1,2,3,4,5}; for(int n:arr){ System.out.println(n); } }}