黑马程序员技术交流社区

标题: 高级for循环在集合中的应用 [打印本页]

作者: peerless2012    时间: 2013-6-18 22:37
标题: 高级for循环在集合中的应用
对数组用高级for循环是显而易见的,但是在集合中有的能用for循环,有的得使用迭代器,怎么区别呢?
作者: 尹丽峰    时间: 2013-6-18 22:49
跌代时重复了for循环,而且有参数化会自动替换参数。for循环不能替换参数化的参数。

作者: 姚志远    时间: 2013-6-19 00:46
完全看需求了 下面这种情况用for那不累坏了 是吧 !具体看代码
  1. package com.heima.collections;

  2. import java.util.HashMap;
  3. import java.util.Iterator;
  4. import java.util.Map;

  5. public class Test1 {
  6.         public static void main(String[] args) {
  7.         Map<String,Map<String ,String>> school=new HashMap<String,Map<String ,String>>();
  8.     Map<String ,String> room1=new HashMap<String,String>();
  9.     Map<String ,String> room2=new HashMap<String,String>();
  10.      // 向两个字集合里面添加值
  11.      room1.put("学生1", "好好学习呵");
  12.      room2.put("学生2", "day  day  up  yeah ");
  13.      // 向学校集合里面添加值
  14.      school.put("教室1", room1);
  15.      school.put("教室2", room2);
  16.      //对学校的迭代
  17.     Iterator<String> it=school.keySet().iterator();
  18.     while(it.hasNext()){
  19.             String roomName=it.next();
  20.             Map<String ,String> role=  school.get(roomName);  
  21.             System.out.println(roomName);
  22.             //对教室的迭代
  23.             Iterator<String> it1=role.keySet().iterator();
  24.             while(it1.hasNext()){
  25.             String id=it1.next();
  26.             String room=role.get(id);
  27.             System.out.println(room);
  28.             }
  29.     }
  30.         }

  31. }
复制代码
迭代器也就是装集合的容器。
作者: 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