1. Map
1.1 Map概述
Map 是一个双边队列形式储存为底层结构的接口
Map双边队列中对于数据储存类型
有限制 存储数据类型在创建Map双边队列时进行约束, 保证数据类型一致化
也没有限制 Map可以满足任意类型
Map使用了两个泛型!
Map<K, V>
1.2 Map整体结构和常用API
interface Map<K, V>
--| class HashMap<K, V>
底层储存数据结构使用的方式是哈希表方式, 储存数据是根据当前存储Key作为计算存储问题和查询元素的唯一标识
--| class TreeMap<K, V>
底层粗存数据结构使用的方式是二叉树结构, 要求储存的键值对Key必须有对应的排序方式, 这里就需要Comparable<T> 或者 Comparator<T>
增
put(K key, V value);
添加符合Map要求的键值对存储到双边队列中
putAll(Map<? extends K, ? extends V> map);
添加另一个Map到当前Map中, 要求K是当前Map本身对应的K或者其子类, V是当前Map本身对应的V或者其子类
删
remove(Object key);
删除对应Key的键值对
改
put(K key, V value);
使用value修改已存在的key对应的值
查
int size();
Map双边队列个数
boolean isEmpty();
判断当前Map双边队列中是否为空
boolean containsKey(Object key);
判断指定key是否存在
boolean containsValue(Object value);
判断指定value是否存在
Set<K> keySet();
返回Map双边队列中所有Key对应的Set集合
Collection<V> values();
返回Map双边队列中所有value对应Collection集合
1.3 HashMap代码演示
package com.qfedu.a_map;
import java.util.Collection;
import java.util.HashMap;
import java.util.Set;
public class Demo1 {
public static void main(String[] args) {
HashMap<String, Integer> map1 = new HashMap<String, Integer>();
map1.put("Dior 999", 280);
map1.put("YSL", 220);
map1.put("Mac", 180);
map1.put("阿玛尼 405", 230);
System.out.println(map1);
HashMap<String, Integer> map2 = new HashMap<String, Integer>();
map2.put("TF", 179);
map2.put("雅诗兰黛", 229);
map1.putAll(map2);
System.out.println(map1);
map1.remove("Mac");
System.out.println(map1);
map1.put("阿玛尼 405", 280