你的位置:首页 > Java教程

[Java教程]Map三种遍历方式


Map三种遍历方式

package decorator; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import org.junit.Before; import org.junit.Test; /** * 对于Map的三种方式遍历 1.keySet() 2.values() 3.entrySet()  * 三种方式得到Set之后,都可以使用 foreach或者iterator, 不能使用for,因为数据结构决定的  *  * @author Administrator  *  */ public class MapCycle {      Map<Integer, String> map;            // 准备好数据            @Before            public void testData() {                 map = new HashMap<>();                map.put(1, "凌一");                map.put(2, "凌二");      map.put(3, "凌三");                map.put(4, "凌四");                map.put(5, "凌五");      }/** 测试三种方式,这三种方式最后都是遍历Set,于是都可以使用 foreach或者Iterator **/       // 方式1: keySet()方法获取到Set(key)             @Test             public void testFirst() {                 Set<Integer> set = map.keySet();                 for (Integer integer : set) {                      System. out.println( map.get(integer));                  }            }       // 方式2:values()方法获取到Collection(value)             @Test              public void testSecond() {                  Collection<String> collection = map.values();                  for (String string : collection) {                      System. out.println(string);                  }            }              // 方式3:entrySet()方法获取到Set<Entry<key,value>>             @Test        public void testThird() {                  Set<Entry<Integer, String>> entries = map.entrySet();                  for (Entry<Integer, String> entry : entries) {                       System. out.println(entry.getValue());                      }                }        }