map集合和set集合的遍歷方法彙總

  map集合和set集合是我們經常使用到的兩類集合,因此掌握對map和set集合的遍歷方法顯得十分的重要,下面我們就來總結下這兩種集合的常用遍歷方法:

1、map集合的遍歷

<span style="font-size:18px;">package part1;

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

public class map_traversal {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
			Map<String, String> map=new HashMap<String, String>();
			map.put("1", "hai");
			map.put("2", "tian");
			map.put("3", "zhi");
			map.put("4", "wang");
			
		//一、增強for循環,最常使用
			System.out.println("增強for循環,最常使用----------------------");
			for(String key:map.keySet()){
				System.out.println(key+","+map.get(key));
			}
		//二、增強for循環,最常使用如果不使用key的環境下	
			System.out.println("增強for循環,最常使用如果不使用key的環境下-----------");
			  for (String v : map.values()) {
			   System.out.println(v);
			  }
			
		//三、迭代器
			System.out.println("迭代器----------------------");
			Iterator<Map.Entry<String, String>> it=map.entrySet().iterator();
			while (it.hasNext()) {
				   Map.Entry<String, String> entry = it.next();
				   System.out.println(entry.getKey() + "," + entry.getValue());
				  }
		 //四、增強for循環,推薦,尤其是容量大時
			  System.out.println("增強for循環,推薦,尤其是容量大時----------------------");
			  for (Map.Entry<String, String> entry : map.entrySet()) {
			   System.out.println(entry.getKey() + ", " + entry.getValue());
			  }
	}

}
</span>
結果展示:

<span style="font-size:18px;">增強for循環,最常使用----------------------
3,zhi
2,tian
1,hai
4,wang
增強for循環,最常使用如果不使用key的環境下-----------
zhi
tian
hai
wang
迭代器----------------------
3,zhi
2,tian
1,hai
4,wang
增強for循環,推薦,尤其是容量大時----------------------
3, zhi
2, tian
1, hai
4, wang
</span>

擴展:從上面我們看出,map中遍歷後輸出的順序從和我們存入map集合的順序 不一致,這個就可以體現hashmap的無序性。參照另外的blog:http://blog.csdn.net/wanghaiping1993/article/details/39761729

1、set集合的遍歷

package part1;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class set_traversal {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Set<String> set = new HashSet<String>();
		set.add("hai");
		set.add("tian");
		set.add("zhi");
		set.add("wang");
		//迭代遍歷
		System.out.println("迭代遍歷------------");
		Iterator<String> it = set.iterator();
		while (it.hasNext()) {
		  String str = it.next();
		  System.out.println(str);
		}
		//增強型for循環遍歷:
		System.out.println("增強型for循環遍歷------------");
		for (String str : set) {
		      System.out.println(str);
		}
	}

}

結果:

迭代遍歷------------
tian
hai
zhi
wang
增強型for循環遍歷------------
tian
hai
zhi
wang

在這兩種集合的遍歷中,實際上我們用到的就是增強型for循環和迭代器,如果有需要可以參照另外的blog關於增強型for循環的blog:http://blog.csdn.net/wanghaiping1993/article/details/39757265


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章