注意:
HashMap中的key要重写HashCode和equals
SortedMap TreeMap中的key要实现Comparator接口或者单独写个比较器
存储在Map集合key部分的元素需要同时重写hashCode+equals方法
Map中的key是无序不可重复的,和HashSet相同
Map中如果Key重复了,value采用的是覆盖
清空Map
void clear();
判断Map中是否包含这样的key
boolean containsKey(Object key);
判断Map中是否包含这样的value
boolean containsValue(Object value);
返回此映射中包含的映射关系的Set视图
Set<Map.Entry<K,V>> entrySet();
通过key获取value
Object get(Object key);
向集合中添加键值对
Object put(Objcet key,Object value);
判断该集合是否为空
boolean isEmpty();
通过Key将键值对删除
Object remove(Object key);
获取Map中键值对的个数
int size();
获取Map中所有key
Set keySet();
获取Map集合中所有的value
Collection values();
例如
Map abc = new HashMap(); //创建Map集合 HashMap 默认初始化容量为16,默认加载因子为0.75
//存储键值对
abc.put("10000","Bob");
abc.put("10000","JACK");
abc.put("10001","LA");
abc.put("10002","SRY");
System.out.println(abc.size()); // 判断键值对个数 //结果为3,10000重复,后面的覆盖前面的
System.out.println(abc.containsKey("10000")); //判断集合中是否包含这样的key //true
System.out.println(abc.containsValue("Bob")); //判断集合中是否包含这样的value //false,因为JACK覆盖了Bob
通过key获取value //结果为LA
String k = "10001";
Object v = abc.get(k);
System.out.println(v);
//删除
abc.remove("10001"); //删除
System.out.println(abc.size());
//获取所有的Value //结果为JACK SRY
Collection values = abc.values();
Iterator it = values.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
获取所有的key //可以自由调整,结果输出为10000-->JACK 10002-->SRY
Set keys = abc.keySet();
Iterator it2 = keys.iterator();
while(it2.hasNext()) {
Object id =it2.next();
Object name = abc.get(id);
System.out.println(id+"-->"+name);
}
entrySet Map转换成Set集合 //结果输出为10000=JACK 10002=SRY
Set entryset1 = abc.entrySet();
Iterator it3 = entryset1.iterator();
while(it3.hasNext()) {
System.out.println(it3.next());
}