日期:2014-05-20 浏览次数:20679 次
package test5_10; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** * 集合的遍历或迭代操作 * * @author yoyoflash * */ public class Test03 { public static void main(String[] args) { Map stuMap = new HashMap(); // 向集合添加元素(键值对的方式添加) for (int i = 0; i < 5; i++) { Student stu = new Student(i, "学生" + i, 18); stuMap.put(stu.getId(), stu); // int--->Integer-->Object } System.out.println(stuMap); // 1.通过foreach,注意,此时要指定遍历的是键集(keySet())还是值集(values()) System.out.println("通过Map对象的keySet()方法访问键的集合."); for (Object key : stuMap.keySet()) { System.out.println("key:" + key + ",value:" + stuMap.get(key)); } System.out.println("************1************"); System.out.println("通过Map对象的values()方法访问值的集合."); for (Object stu : stuMap.values()) { System.out.println(stu); } System.out.println("************2************"); // 2.通过迭代器来迭代获取key. Iterator it = stuMap.keySet().iterator(); // 通过hasNext()方法先判断是否有可迭代的元素 while (it.hasNext()) { // 再通过next()方法来获取下一个元素. Object key = it.next(); if(key==Integer.valueOf(3)){ System.out.println("key==3"); it.remove(); } System.out.println("------"); System.out.println("key:"+key); } System.out.println("************3************"); Iterator it1 = stuMap.keySet().iterator(); // 通过hasNext()方法先判断是否有可迭代的元素 while (it1.hasNext()) { // 再通过next()方法来获取下一个元素. Object key = it1.next(); System.out.println("key:"+key); } System.out.println("************4************"); // 2.通过迭代器来迭代获取value Iterator it2 = stuMap.values().iterator(); while (it2.hasNext()) { System.out.println(it2.next()); } } }