首相讲一下,我以前经常用的一种遍历
整体思路是:先获取key集合; 然后在用key集合里的每一元素去获取value
public class TestMap {
public static void main(String[] args) {
Map<String,Integer> map = new HashMap<String,Integer>();
map.put("一",1 ) ;
map.put("二", 2);
Set<String> keys =map.keySet();
if(keys!=null){
for(String s:keys){
System.out.println( s+":"+map.get(s));
}
}
}
结果:
一:1
二:2
第二种方式: 将map 中的entry转换成set集合中的元素,然后遍历
public class TestMap {
public static void main(String[] args) {
Map<String,Integer> map = new HashMap<String,Integer>();
map.put("一",1 ) ;
map.put("二", 2);
map.put("三", 2);
Set<Entry<String,Integer>> sets =map.entrySet();
if(sets!=null){
for(Entry e :sets){
System.out.println(e.getKey()+":"+e.getValue());
}
}
}
}
结果:三:2
一:1
二:2
还有一些小常识;map 和set可以转换,原因就是map 中的每一个元素entry都是不重复的,因为它每一个key值都是不重复的,重复,就会覆盖前一个值
然后map集合存值和取值是没有顺序的,如果要有顺序的集合,一般都用list集合进行存取