映射:键值对
1.1 基本映射操作
Java类库提供两个基本的实现,HashMap和TreeMap。两个类都实现了Map接口
散列映射对键进行排序,树映射对键的整体排序,并将其组织成搜索树。散列只作用于键
散列更快,不需要对键进行排序的情况下选择散列
下列代码对存储的员工信息建立一个散列映射
Map<String, Employee> staff = new HashMap<>();
Employee harry = new Emplory("Harry Hacker");
staff.put("97-98-1995",harry);
每当向应用中添加对象时,必须提供一个键
要想检索一个对象必须使用一个键
String id ="97-98-1995";
e = stff.get(id);
如果没有指定的信息将会返回null
我们可以为不存在的元素提供一个默认值
Map<String,Interage> scores = ....,
int socre = scores.get(id,0) //默认值是0
键是唯一的不能对同一个键赋值两次,如果赋值两次,第二次的会把第一次的覆盖
remove方法用于从映射中删除指定的元素,size方法用于返回映射中的元素数
要迭代映射中的键值对forEach是很好的方法
scores.forEach((k,v)=>{
// console.log k,v
})
介绍对应的方法
V get(Object key) //返回与键对应的值
default V getOrDefault(Object key,V defaultValue) //如果未找到返回默认值
V put(K key, V value) // 插入对应的键值对
void putAll(Map<? extends K,? extends V> entries) //把所有映射添加到集合中
boolean containsValue (Object value) //查找集合中是否含有某个值
default void forEach(Biconsumer<? super K,? super V> action)
TreeMap() //为实现Comprable的接口的键构造一个空数列
TreeMap(Map<? extends K,? extends V>) entries //构造一个树映射
网友评论