代码:
@Test
public void map(){
Map<String,Integer> map = new HashMap<>();
map.put("2",22);
map.put("3",12);
map.put("王五",23);
map.put("1",22);
Set<Map.Entry<String, Integer>> entries = map.entrySet();
for (Iterator<Map.Entry<String, Integer>> iterator = entries.iterator();iterator.hasNext();){
Map.Entry<String, Integer> next = iterator.next();
System.out.println(next.getKey()+"=="+next.getValue());
}
}
结果:
1==22
2==22
3==12
王五==23
hashmap底层使用的是数组加链表,所以当你添加数据后会把key的值放在通过哈希算法散列后的对象的数组坐标上,所以取得的值是按哈希表来取的,所以和放入的顺序无关。要是想有序的取值,可以把
Map<String,Integer> map = new HashMap<>();中HashMap改为LinkedHashMap