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