目录
一、Map结构
- 键值对的形式存储(散列码){key:value}
- 键是”相对唯一的“,key可以为null
- 无序,但是LinkedHashMap有序
- put的时候对于相同的key,后加入的会覆盖前面的值
- 存取效率高
二、创建
Map map=new HashMap();
Map map=new LinkedHashMap();
Map<String,Integer> map=new HashMap<String,Integer>();
Map<String,Integer> map=new HashMap<String,Integer>();
map.put("first",1);
map.put("second",2);
System.out.println(map.get("first"));
三、遍历
- 对key遍历:foreach和Iterator
- 对value遍历:foreach和Iterator
- 对整个对象:entrySet()返回的set集合进行foreach和Iterator遍历
注意:jdk11中,Map.of(k,v,k,v)中按顺序每个k,v是一组
代码:
package org.example.review01;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class MapDemo {
public static void main(String[] args){
// Map<String,Integer> map=Map.of("1",100,"2",200,"3",300);
Map<String,Integer> map=new HashMap<String,Integer>();
map.put("1",100);
map.put("2",200);
map.put("3",300);
Set<Map.Entry<String,Integer>> set=map.entrySet();
for (Map.Entry<String,Integer> entry:set){
System.out.println(entry.getKey()+":"+entry.getValue());
}
System.out.println("--------------------");
for (String key:map.keySet()){
System.out.println(key+":"+map.get(key));
}
}
}
运行: