java map 的遍历

package des.mapp;

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

public class Keyy {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Map<String, String> mm=new HashMap<String, String>();
		mm.put("5", "7");
		mm.put("3", "5");
		mm.put("2", "8");
		mm.put("6", "4");
		mm.put("9", "3");
		mm.put("1", "2");
		//keySet()遍历
//		Iterator it=mm.keySet().iterator();
		
//		while(it.hasNext()){
//			Object kk;
//			Object vv;
//			
//			kk=it.next();//取出这条数据的key值
//			vv=mm.get(kk);//再通过这个kei值来取对应的对象值
//			System.out.println("kk:"+kk.toString()+"--vv:"+vv.toString());
//		}
//		//输出
//		kk:3--vv:5
//		kk:2--vv:8
//		kk:1--vv:2
//		kk:6--vv:4
//		kk:5--vv:7
//		kk:9--vv:3
		
		//entrySet()遍历
		@SuppressWarnings("unused")
		Iterator it=mm.entrySet().iterator();
		
		while(it.hasNext()){
			@SuppressWarnings("rawtypes")
			Map.Entry entry = (Map.Entry)it.next();//先把key值和对应的对象值转化成一个Entry对象
			String kk=entry.getKey().toString();//可以直接通过Entry对象取出key值
			String vv=entry.getValue().toString();//可以直接通过Entry对象取出对应的对象值
			//可以直接通过Entry对象取想要的值也是entrySet()比keySet()好的地方
			System.out.println("kk:"+kk+"--vv:"+vv);
		}
		//输出
//		kk:3--vv:5
//		kk:2--vv:8
//		kk:1--vv:2
//		kk:6--vv:4
//		kk:5--vv:7
//		kk:9--vv:3

	}

}



 map是很常用的一种数据类型,要把map中数据遍历,却不能通过序号,我们在遍历list数据时,可以通过序号比如list.get(3);就取出第4个数据;

但map中没有类似的方法,只有String value=mm.get("key");也就是我们只能通过key值去取值,不能按循序取第1,2,3...条,没有这种方法;

map还是有遍历的方法的keySet()entrySet().

 

你可能感兴趣的:(java map 的遍历)