天天看點

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);
		}
	}
}