50,530
社区成员
发帖
与我相关
我的任务
分享
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());
}
}
}