特点:存储 Key-Value(键-值对);
键key -- 唯一、无序无下标
值value -- 可以重复、无序无下标
方法:
集合对象名.put(key, value); 往map集合中添加1个元素/键值对(key不存在添加 key存在则修改)
集合对象名.size(); 获取map集合中元素的实际个数
Set set = 集合对象名.keySet(); 获取map中所有键构成的集合
Object value = 集合对象名.get(key); 根据key获取对应的值
boolean bn = 集合对象名.containsKey(key);返回集合中是否包含指定的key,是true
实现类: HashMap的使用(添加、遍历) 【重点】
创建集合对象
HashMap<Integer,String> map = new HashMap<Integer,String>();
Map<Integer,String> map2 = new HashMap<Integer,String>();
HashMap<String,Worker> map3 = new HashMap<String,Worker>();
添加元素
map.put(101, “张三”);
eg: map3.put(“gh001” , new Worker(“”, 100000));
遍历元素
// 先获取map中 所有key构成的集合(键集合)
Set<String> keys = map.keySet();
// 遍历键集合
for(String key : keys ){
Worker w = map.get(key); // 每次取1个键,根据键 获取对应的值
syso(“工号: ” + key+” , 姓名: ” + w.getName());
}
Map的实现类: Properties类
和HashMap区别:Properties的元素也是键值对,但key和value都是字符串类型。
Properties prop = new Properties();
作用:通常用于 读取 资源/配置文件中的内容。
Map的实现类:Hashtable类
是Properties类的父类,实现Map接口。
和HashMap的区别:
1> 键和值 都不允许是null;
2> Hashtable效率低,线程安全。