HashMap集合的遍历方式

HashMap属于Map类,是双链集合,此实现中的键元素和值元素一一映射,关于HashMap此实现提供所有可选的映射操作,并且允许键和值为null,但是它不保证映射的顺序,特别是它不保证该顺序恒久不变。HashMap的遍历方式如下:
1.新建一个HashMap集合
package test1;

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

public class MapDemo2 {
public static void main(String[] args) {
Map<String,String> map = new HashMap<String,String>();
map.put(“三国演义”,“吕布”);
map.put(“水浒传”,“林冲”);
map.put(“西游记”,“悟空”);
map.put(“红楼梦”, “宝玉”);
2.集合的遍历
/*遍历方式1:
* 1). Set keySet(){}------------>获取所有键的集合
* 2). 通过增强for遍历键的集合
* 3). 通过键获取值v get(k key)
* k,v分别指键和值的类型
**/
Set set = map.keySet();
for(String s:set) {
String x = (String) map.get(s);
System.out.println(“键是:”+s+"-----"+“值是:”+x);
}
/*遍历方式2:
* 1.Set<Map.entry<k,v>> entrySet(){}--------->获取当前集合中所有键值对对象
* 2.遍历所有键值对对象
* 3.通过k getKet(),v getValue();获取键值对的键和值
* k,v分别指键和值的类型
* */
System.out.println("---------------------");
//第一种
Set<Map.Entry<String, String>> set1 = map.entrySet();
for(Entry<String, String> s1 : set1) {
Map.Entry entry = (HashMap.Entry) s1;
String key = (String)entry.getKey();
String value = (String)entry.getValue();
System.out.println(“键是:”+key+"-------"+“值是:”+value);
}
System.out.println("---------------------");
//第二种
for(Entry<String, String> s1 : set1) {
String key = s1.getKey();
String value = s1.getValue();
System.out.println(“键是:”+key+"-------"+“值是:”+value);
}
System.out.println("---------------------");
//第三种
Iterator ite = map.entrySet().iterator();
while(ite.hasNext()) {
Map.Entry entry = (HashMap.Entry)ite.next();
Object key = entry.getKey();
Object value = entry.getValue();
System.out.println(“键是:”+key+"-------"+“值是:”+value);
}
System.out.println("---------------------");
//第四种(最简单,推荐使用)
for(Map.Entry<String,String> en:map.entrySet()) {
System.out.println(“键:”+en.getKey()+"--------"+“值:”+en.getValue());
}
}
}
运行结果如下:
HashMap集合的遍历方式
在eclipse上书写的代码如下:
HashMap集合的遍历方式
HashMap集合的遍历方式
HashMap集合的遍历方式