map是将键映射到值的对象。
在map中可以使用匿名对象找到一个key对应的value。
一个映射不能包含重复的键每个键最多只能映射到一个值。
此接口取代 Dictionary类,后者完全是一个抽象类,而不是一个接口。
map提供三种collection 视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。
映射顺序定义为迭代器在映射的 collection视图上返回其元素的顺序。
某些映射实现可明确保证其顺序,如 TreeMap类另一些映射实现则不保证顺序,如 HashMap类。
map初始化方法
第一种方法:static块初始化
public class Demo{
private static final Map<String, String> myMap
static{
myMap = new HashMap<String, String>()
myMap.put("a", "b")
myMap.put("c", "d")
第二种方法:双括号初始化 (匿名内部类)
HashMap<String, String > h = new HashMap<String, String>()
put("a","b")
慎用, 非静态内部类/ 匿名内部类包含了外围实例的引用, 如果拥有比外部类更长的生命周期,有内存泄露隐患
第三种方法:Guava
使用guava创建一个HashMap时,可以这样。