首页 > 代码库 > JDK5.0新特性-增强for循环
JDK5.0新特性-增强for循环
==============
增强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() { List<Integer> list = new ArrayList<Integer>(); for (int i = 0; i < 10; i++) { list.add(new Random().nextInt(100)); } // for (Iterator<Integer> it = list.iterator(); it.hasNext();) { // System.out.println(it.next()); // } Iterator<Integer> it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } } // 2.使用ListIterator----好处:1.可以向下或向上遍历 2.可以在遍历过程中进行 add set操作. @Test public void demo2() { List<Integer> list = new ArrayList<Integer>(); for (int i = 0; i < 10; i++) { list.add(new Random().nextInt(100)); } ListIterator<Integer> it = list.listIterator(); while (it.hasNext()) { System.out.println(it.next()); } } // 3.使用普通for size get @Test public void demo3() { List<Integer> list = new ArrayList<Integer>(); 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<Integer> list = new ArrayList<Integer>(); 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() { Set<String> set = new HashSet<String>(); // 使用hashCode与equals来维护唯一性. set.add("def"); set.add("123"); set.add("abc"); for (Iterator<String> it = set.iterator(); it.hasNext();) { System.out.println(it.next()); } } //增强for @Test public void demo2(){ Set<String> set = new HashSet<String>(); // 使用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() { Map<String, String> map = new HashMap<String, String>(); map.put("first", "aaaa"); map.put("second", "bbbb"); Set<String> 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<String, String> map = new HashMap<String, String>(); map.put("first", "aaaa"); map.put("second", "bbbb"); Set<Map.Entry<String, String>> set = map.entrySet(); for (Map.Entry<String, String> 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); } }}
JDK5.0新特性-增强for循环
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。