第一種:
最常規的一種遍歷方法,最常規就是最常用的,雖然不復雜,但很重要,這是我們最熟悉的。
- 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
- }
- }
- }