黑马程序员技术交流社区
标题:
高级for循环在集合中的应用
[打印本页]
作者:
peerless2012
时间:
2013-6-18 22:37
标题:
高级for循环在集合中的应用
对数组用高级for循环是显而易见的,但是在集合中有的能用for循环,有的得使用迭代器,怎么区别呢?
作者:
尹丽峰
时间:
2013-6-18 22:49
跌代时重复了for循环,而且有参数化会自动替换参数。for循环不能替换参数化的参数。
作者:
姚志远
时间:
2013-6-19 00:46
完全看需求了 下面这种情况用for那不累坏了 是吧 !具体看代码
package com.heima.collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Test1 {
public static void main(String[] args) {
Map<String,Map<String ,String>> school=new HashMap<String,Map<String ,String>>();
Map<String ,String> room1=new HashMap<String,String>();
Map<String ,String> room2=new HashMap<String,String>();
// 向两个字集合里面添加值
room1.put("学生1", "好好学习呵");
room2.put("学生2", "day day up yeah ");
// 向学校集合里面添加值
school.put("教室1", room1);
school.put("教室2", room2);
//对学校的迭代
Iterator<String> it=school.keySet().iterator();
while(it.hasNext()){
String roomName=it.next();
Map<String ,String> role= school.get(roomName);
System.out.println(roomName);
//对教室的迭代
Iterator<String> it1=role.keySet().iterator();
while(it1.hasNext()){
String id=it1.next();
String room=role.get(id);
System.out.println(room);
}
}
}
}
复制代码
迭代器也就是装集合的容器。
作者:
yasyas001
时间:
2013-6-19 09:48
遍历的方式:
Collection:
迭代器和增强for:
|--List
|--get()和size()结合
|--Set
List:如果需要索引,那么用get()方式。否则,就用Collection的方式。
为了方便一般使用增强for。
Map集合:
先通过keySet();后使用迭代器,或增强for,
就是通过key,来找value,,
Set<String> set = map.keySet();
for (String key : set) {
String value = map.get(key);
System.out.println(key + "***" + value);
}
作者:
张承富
时间:
2013-6-19 10:48
foreach可用于遍历任何集合或数组,而且操作简单易懂,他唯一的不好就是需要了解集合内部类型
iterator是最强大的,他可以随时修改或者删除集合内部的元素,并且是在不需要知道元素和集合的类型的情况下进行的,当你需要对不同的容器实现同样的遍历方式时,迭代器是最好的选择!
作者:
孙百鑫
时间:
2013-6-25 00:04
楼主您好,由于帖子长时间没有动态,我已经讲帖子改成已解决了,如有问题,可以私聊我。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2