博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDK5.0新特性-增强for循环
阅读量:7049 次
发布时间:2019-06-28

本文共 3834 字,大约阅读时间需要 12 分钟。

==============

增强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
list = 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() {        Set
set = 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() {        Map
map = 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);        }    }}

 

转载于:https://www.cnblogs.com/spadd/p/4190841.html

你可能感兴趣的文章
以boost::function和boost:bind取代虚函数
查看>>
oracle监听器(listener)配置心得
查看>>
wince -- RS485半双工实现
查看>>
nginx 源码学习笔记(二)——nginx精粹-模块
查看>>
DirectX截图黑屏的解决办法
查看>>
Expanding Cat5e LAN segments over 100 metres using OUTREACH Ethernet LAN extenders
查看>>
关于Oracle冷备份与热备份的对比
查看>>
C#条件判断-嵌套if结构
查看>>
Selenium:Hello,World!
查看>>
HibernateTemplate 查询
查看>>
ListView控件的基本操作
查看>>
jQuery 参考手册 - 属性操作
查看>>
C–gcc命令行下的参数
查看>>
mysql 连接查询 和 子查询
查看>>
UploadFile控件,提交图片后,页面预览显示刚刚提交的图片
查看>>
调查:2013年十大急需的热门IT人才
查看>>
为什么memset的第二个参数不把int替换成char
查看>>
超级芯片电路板问世 比现有电脑快9000倍
查看>>
求幂算法
查看>>
使用asp.net调用谷歌地图api
查看>>