List、Set和Map的遍历方式

ArrayList遍历

           //第一种遍历方式:利用下标遍历
 4         System.out.print("for循环的遍历方式:");
 5         for (int i = 0; i < lists.size(); i++) {
 6             System.out.print(lists.get(i));
 7         }
 8         System.out.println();
 9         
10         //第二种遍历方式:利用foreach遍历
11         System.out.print("foreach的遍历方式:");
12         for (Integer list : lists) {
13             System.out.print(list);
14         }
15         System.out.println();
16         
17         //第三种遍历方式:利用迭代器遍历
18         System.out.print("Iterator的遍历方式:");
19         for (Iterator<Integer> list = lists.iterator(); list.hasNext();) {
20             System.out.print(list.next());
21         }

Set遍历 

        // 方法一:Iterator迭代器遍历
        Iterator<String> itr = set.iterator();
        while (itr.hasNext()) {
            String str = itr.next();
            System.out.println(str);
        }
        // 方法二:通过foreach循环遍历
        for (String str : set) {
            System.out.println(str);
        }

 注:Set集合中不存在下标,因此无法通过下标遍历,对于Java编译器而言,方法一和方法二是等价的

Map遍历

package gw20180809;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class Test {
	public static void main(String[] args) {

		Map<String, String> map = new HashMap<String, String>();
		map.put("及时雨", "宋江");
		map.put("豹子头", "林冲");
		map.put("黑旋风", "李逵");

		// 第一种:普遍使用,二次取值.通过map.keySet得到key,再通过key得到value
		System.out.println("通过Map.keySet遍历key和value:");
		for (String key : map.keySet()) {
			System.out.println("key=" + key + "\t" + "value=" + map.get(key));
		}

		// 第二种:通过迭代器遍历得到key和value,该方法较为麻烦
		System.out.println("通过Map.entrySet使用iterator遍历key和value:");
		Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry<String, String> entry = it.next();
			System.out.println("key=" + entry.getKey() + "\t" + "value=" + entry.getValue());
		}

		// 第三种:通过foreach循环遍历,得到key和value。推荐,尤其是容量大时
		System.out.println("通过Map.entrySet遍历key和value");
		for (Map.Entry<String, String> entry : map.entrySet()) {
			System.out.println("key=" + entry.getKey() + "\t" + "value=" + entry.getValue());
		}

		// 第四种
		System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
		for (String v : map.values()) {
			System.out.println("value= " + v);
		}
	}
}

猜你喜欢

转载自blog.csdn.net/qq_39241239/article/details/82116952