Java Core - Map接口
Map:是一组映射
The java.util.Map interface represents a mapping between a key and a value.
The Map interface is not a subtype(子类型) of the Collection interface.
Therefore it behaves a bit different from the rest of the collection types.
java.util.Map接口表示键和值之间的映射。 Map接口不是Collection接口的子类型。因此它的行为与其他集合类型略有不同。
Few characteristics of the Map Interface are:
- A Map cannot contain duplicate(重复的)keys and each key can map to at most one value. Some implementations(实现类) allow null key and null value like the HashMap and LinkedHashMap, but some do not like the TreeMap.Map不能包含重复的键,每个键最多可以映射一个值。一些实现允许null键和null值,如HashMap和LinkedHashMap,但有些实现类不是这样,比如TreeMap。
- The order of a map depends on specific implementations, e.g TreeMap and LinkedHashMap have predictable order, while HashMap does not.(未理解)
- There are two interfaces for implementing Map in java: Map and SortedMap, and three classes: HashMap, TreeMap and LinkedHashMap.在Java中有两个用于实现Map的接口:Map和SortedMap,以及三个类:HashMap,TreeMap和LinkedHashMap。
- Map的层次结构如下图所示:
方法描述:
void clear() 清除Map映射里的所有映射关系。
boolean containsKey(Object k) 判断Map映射里是否包含k键的映射关系,若包含则返回true。
Object get(Object k) 返回k键所映射的值,若当前Map不包含k键的映射关系,则返回null。
boolean containValue(Object v) 判断Map映射中是否有一个或多个键对应着v值,若有则返回true。
Set entrySet() 返回Map映射里的所有映射关系的set视图。
boolean isEmpty() 判断Map是否为空,即不包含任何键值对映射关系。若为空,则返回true。
boolean equals(Object obj) 比较obj对象与此Map映射是否相等。
Object put(Object k,Object v) 为Map映射添加一条映射关系
int size() 返回映射中的键值对的数量
object remove(Object k) 如果关于K的映射关系存在,就删除它,并返回K键对应的值。
void putAll(Map m) 将m映射包含的映射关系复制,并追加到当前映射中。
国内大佬博文:https://www.cnblogs.com/lzq198754/p/5780165.html(看着一篇就够了系列)
重磅推荐参考网站:https://www.geeksforgeeks.org/map-interface-java-examples/ (可在线编程)
国内网站:http://www.runoob.com/java/java-map-interface.html
相关方法的应用: http://www.51gjie.com/java/664.html