增强for循环
1.格式:
for(数据类型 变量 :被遍历的集合(Collection)或数组){}
2:作用:
增强for循环之可以对集合进行遍历获取操作,但是不能对集合进行操作
迭代器除了能遍历集合,还能对集合进行remove操作,如果用的是Listiterator还可以进行增删改查的操作
3.传统for和高级for的关系?
高级for有一个局限性,就是必须有被遍历的目标
建议在遍历数组时,最好使用传统for,因为可以定义角标
4.实例:
- //利用增强for实现keySet()
- public static void foreachGetKey()
- {
- HashMap<Integer,String> hm = new HashMap<Integer,String>();
- hm.put(1, "a");
- hm.put(2, "b");
- hm.put(3, "c");
- hm.put(4, "d");
- //利用getKey()方法获取到键的集合
- Set<Integer> set = hm.keySet();
- //利用增强for循环遍历
- for(Integer i : set)
- {
- sop("i:"+i+"------"+hm.get(i));
- }
- }
- //使用增强for循环实现entrySet()方法
- public static void foreachEntrySet()
- {
- HashMap<Integer,String> hm = new HashMap<Integer,String>();
- hm.put(1, "a");
- hm.put(2, "b");
- hm.put(3, "c");
- hm.put(4, "d");
- //使用entrySet()方法获得HashMap中键值的关系
- Set<Map.Entry<Integer,String>> smp = hm.entrySet();
- for(Map.Entry<Integer,String> sm : smp)
- {
- sop("键:"+sm.getKey()+"-----"+"值"+sm.getValue());
- }
- }
- //打印方法
- public static void sop(Object obj)
- {
- System.out.println(obj);
- }
-
复制代码
|