您的位置:首页 > 编程语言 > Java开发

java 遍历map

2014-11-02 16:30 141 查看
字少代码多,简介如下:

遍历map的方式必须基于map的结构,以及提供相应的接口,按照此想法,map迭代有3中:

第一种,迭代map“实体”;

第二中,遍历key,获得valus;

第三种,直接遍历获得value;

直接上代码,代码又改动,可能有错误

package utilTest;

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

public class MapTest {
public static void main(String[] args) {
//先来一个map
Map<String,String> map=new HashMap<String,String>(){{	//匿名内部类初始化
put("breakfast", "早点");
put("lunch", "中饭");
put("supper", "晚点");
}};

//1、通过key获得值
//key+iterator
Set<String> keySet=map.keySet();
for(Iterator<String> it=keySet.iterator();it.hasNext();){
String s=it.next();
System.out.println(map.get(s));
}

//key+each
for (String key : map.keySet()) {
System.out.println("key= "+ key + " and value= " + map.get(key));
}

//遍历方法2: only values
//values+iterator
Collection<String> c = map.values();
for(Iterator<String> it=c.iterator();it.hasNext();){
System.out.println(it.next());
}

//values+foreach
for (String v : map.values()) {
System.out.println("value= " + v);
}

//遍历方法3: map.entry  (map容量较大时使用)
//set+map.entry+iterator
Set<Map.Entry<String, String>> set=map.entrySet();
for(Iterator<Map.Entry<String, String>> it=set.iterator();it.hasNext();){
Map.Entry<String, String> mapEnter=it.next();
System.out.println("key="+mapEnter.getKey()+",value="+mapEnter.getValue());
}

//map.entry+foreach
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
}
}


至于什么时候用哪种,以及各自的性能问题,该文章暂时未提及,如果有序有时间可以更新这一部分。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: