您的位置:首页 > 其它

Map三种遍历方式

2015-10-26 16:55 344 查看
第一种:

最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的。

Java代码

import java.util.Collection;

import java.util.Iterator;

import java.util.Map;

import java.util.HashMap;

/**

* 1.把值放到一个集合里,然后遍历集合

*/

public class TraversalMap1 {

private static Map<Integer, String> map;

private static TraversalMap1 getMap(){

map = new HashMap<Integer, String>();

for(int i = 0 ; i < 10 ; i ++){

if(map.isEmpty()) map.put(i, "String " + i);

else if(map.get(i) == null) map.put(i,"String " + i) ;

}

return null;

}

public static void main(String[] args){

getMap();

Collection<String> c = map.values();

Iterator i = c.iterator();

for(; i.hasNext() ;){

System.out.println(i.next());//遍历出map内的所有value

}

}

}

第二种:

利用keyset进行遍历,它手优点在于可以根据你所想要的key值得到你想要的values,更具灵活性。

Java代码

import java.util.Set;

import java.util.Iterator;

import java.util.Map;

import java.util.HashMap;

/**

* 2.把key放到一个集合里,遍历key值同时根据key得到值

*/

public class TraversalMap2 {

private static Map<Integer, String> map;

private static TraversalMap2 getMap(){

map = new HashMap<Integer, String>();

for(int i = 0 ; i < 10 ; i ++){

if(map.isEmpty()) map.put(i, "String " + i);

else if(map.get(i) == null) map.put(i,"String " + i) ;

}

return null;

}

public static void main(String[] args){

getMap();

Set set = map.keySet();

Iterator i = set.iterator();

for(; i.hasNext() ;){

System.out.println(i.next());//遍历出map内的所有key

}

}

}

第三种:

比较复杂的一种遍历在这里,呵呵~~它很暴力哦,它的灵活性太强了,想得到什么就能得到什么~~

Java代码

import java.util.Map;

import java.util.HashMap;

/**

* 3.把一个map对象放到放到entry里,然后根据entry同时得到key和value

*/

public class TraversalMap3 {

private static Map<Integer, String> map;

private static int num = 0 ;

private static String str = "";

private static TraversalMap3 getMap(){

map = new HashMap<Integer, String>();

for(int i = 0 ; i < 10 ; i ++){

if(map.isEmpty()) map.put(i, "String " + i);

else if(map.get(i) == null) map.put(i,"String " + i) ;

}

return null;

}

public static void main(String[] args){

getMap();

for(Map.Entry<Integer, String> entry : map.entrySet()){

num = entry.getKey();

str = entry.getValue();

System.out.println("the map key is : " + num + " || the value is : " + str);//显示出map的key和value

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: