Map和Collection集合的区别:Map它一次性存储一对数据,二Collection一次性只能存储1个数据
Map:是一个接口,它是由键值对组成,键不可重复,值可以重复,一个键只能映射一个值
常用实现类:ConcurrentHashMap(后期用得多)、HashMap、Hashtable下的Properties子类、TreeMap
HashMap【无序,key不可重复,values可重复,允许使用 null 值和 null 键】
字段摘要
无
构造方法摘要
HashMap()
构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap
HashMap(Map**<? extends K,? extends V>** m) === HashMap(Map m)
构造一个映射关系与指定 Map 相同的新 HashMap
public class HashMapDemo {
public static void main(String[] args) {
HashMap hashMap = new HashMap();
hashMap.put("A",65);
hashMap.put("a",97);
hashMap.put("1",48);
//key键不可重复,但values值可以重复
hashMap.put("b",48);//key不存在则添加
hashMap.put("b",98);//key存在则修改
System.out.println(hashMap);//{A=65, a=97, 1=48, b=98}
/**
* 把hashMap集合中的全部元素放到hashMapAll集合中
*/
HashMap hashMapAll = new HashMap(hashMap);
System.out.println("-----------装入hashMapAll新集合里面---------------");
System.out.println(hashMapAll);//{A=65, a=97, 1=48, b=98}
}
}
方法摘要
void clear()
从此映射中移除所有映射关系
public class HashMapDemo {
public static void main(String[] args) {
HashMap hashMap = new HashMap();
hashMap.put("A",65);
hashMap.put("a",97);
hashMap.put("1",48);
//key键不可重复,但values值可以重复
hashMap.put("b",48);//key不存在则添加
hashMap.put("b",98);//key存在则修改
/**
* 清空map集合中有所有的数据
*/
hashMap.clear();
System.out.println(hashMap);//{}
}
}
boolean containsKey(Object key)
如果此映射包含对于指定键的映射关系,则返回 true
public class HashMapDemo {
public static void main(String[] args) {
HashMap hashMap = new HashMap();
hashMap.put("A",65);
hashMap.put("a",97);
hashMap.put("1",48);
//key键不可重复,但values值可以重复
hashMap.put("b",48);//key不存在则添加
hashMap.put("b",98);//key存在则修改
/**
* Map集合中是否包含指定的**键**,返回true,反之不存在返回false
*/
System.out.println(hashMap.containsKey("1"));//true
System.out.println(hashMap.containsKey("dd"));//false
System.out.println(hashMap);//{A=65, a=97, 1=48, b=98}
}
}
boolean containsValue(Object value)
如果此映射将一个或多个键映射到指定值,则返回 true
public class HashMapDemo {
public static void main(String[] args) {
HashMap hashMap = new HashMap();
hashMap.put("A",65);
hashMap.put("a",97);
hashMap.put("1",48);
//key键不可重复,但values值可以重复
hashMap.put("b",48);//key不存在则添加
hashMap.put("b",98);//key存在则修改