Map接口与collection及其子类不同 , Map中存储的是键值对(entry)
每一个键值对由键( key) 和值( value ) 组成 , 其中键不可重复,值可以重复
创建方式:
Map < K , V > map = new HashMap <> () ;
其中 K 表示 key 的对象类型 , V 表示 value 的对象类型 , 使用时根据需要 , 填写对应类型
使用时 , 用引用名map 来调用方法
常用方法 : 增删减查
增 : map . put ( key , value );
删: map . remove ( key ); 每个 value 都是链接着对应的 key , 所以直接删 key 就可以
改: map . put ( key , value ); 如果元素已存在 , 就替换
查 : map . size ( ) ; 查看键值对的数量
map . get ( key ); 用 key 做参数 , 获取对应的 value
map.containsKey ( (Object) obj ); 输入一个对象 , 查看集合中的 key 里是否存在该对象
map.containsValue ( (Object) obj ); 输入一个对象, 查看集合中的 value 里是否存在该对象
遍历 : 键遍历( key ) 值遍历( value ) 键值对遍历( entry ) ;
Set < K > sets = map . keySet () ;
将所有的 key 存储到 sets 集合里 , 之后使用 Set 的方法和遍历方法( forEach ) ;
Collection < V > values = map . values () ;
将所有的value 存储到集合 values 里 , 之后使用 Collection 的方法 和遍历方法( for i 和 forEach )
Set < Map . Entry < K , V > > entries = map . entrySet ( ) ;
遍历 entries集合
fot( Map . Entry entry : entries ){
K key = entry .getKey () ; // 从 entry 中得到 key
V value = entry . getValue (); // 从 entry 中得到 value
}