自在如风

Java 集合(增强for循环)

增强for循环

  • 对集合进行遍历。只能获取集合元素。但是不能对集合进行操作。
  • 迭代器除了遍历,还可以进行remove集合中元素的动作。
  • 如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作。
  • 局限性:必须有被遍历的目标。
  • 在遍历数组的时候,一般用传统for。因为传统for可以定义脚标。
/*格式:
for(数据类型 变量名 : 被遍历的集合(Collection)或者数组){	
}
*/
import java.util.*;

class ForEachDemo {
    public static void main(String[] args) {
        //遍历ArrayList集合中的元素
        ArrayList<String> al = new ArrayList<String>();
        al.add("abc1");
        al.add("abc2");
        al.add("abc3");
        //高级for循环
        for (String s : al) {
            System.out.println(s);
        }
		/*迭代器
		Iterator<String> it = al.iterator();
		while(it.hasNext()){
			System.out.println(it.next());
		}
		*/
		//遍历数组中的元素
        int[] arr = {3, 5, 1};
        /*
        for (int x = 0; x < arr.length; x++) {
            System.out.println("x:" + arr[x]);
        }
        */
        for (int i : arr) {
            System.out.println("i:" + i);
        }

        HashMap<Integer, String> hm = new HashMap<Integer, String>();
        hm.put(1, "a");
        hm.put(2, "b");
        hm.put(3, "c");
        /*
        keySet方法获取集合中的元素
        Set<Integer> keySet = hm.keySet();
        for (Integer i : keySet) {
            System.out.println(i + "::" + hm.get(i));
        }
        */
        //entrySet方法获取集合中的元素
        //Set<Map.Entry<Integer,String>> entrySet = hm.entrySet();
        //for(Map.Entry<Integer,String> me : entrySet)
        for (Map.Entry<Integer, String> me : hm.entrySet()) {
            System.out.println(me.getKey() + ":" + me.getValue());
        }

    }
}

运行结果:
abc1
abc2
abc3
i:3
i:5
i:1
1:a
2:b
3:c

posted @ 2020-04-02 16:09  我是痕  阅读(724)  评论(0编辑  收藏  举报