JAVA Map 的三种遍历模式
JAVA Map 的三种遍历方式
今天编程突然使用到对map的遍历,现在记录一下相关知识。
第一种:
最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的。
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,更具灵活性。
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 } } }
第三种:
比较复杂的一种遍历在这里,呵呵~~它很暴力哦,它的灵活性太强了,想得到什么就能得到什么~~
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 } } }
到此就对它的三种介绍完了。