集是一个集合,它可以快速地查找现有的元素。但是,要查看一个元素,需要有查找元素的精确副本。这不是一种非常通用的查找方式。通常的情况下,我们直到某些键的信息,并想要查找与之对应的元素。
映射表数据结构就是为此设计的。映射表用来存放键/值对。如果提供了键,就能够查找到值。
例如,有一张关于员工信息的记录表,键为员工ID,值为Employee对象。
Java类库为映射表提供了两个通用的实现:HashMap和TreeMap。这两个类都实现了Map接口。
散列映射表对键进行散列,树映射表用键的整体顺序对元素进行排序,并将其组织为搜索树。
那么应该选择散列映射表还是树映射表呢?与集一样,散列稍微快一点,如果不需要按照排列顺序访问键,就最好选择散列。
下面代码将为存储的员工信息建立一个散列映射表:
Map<String,Employee> staff=new HashMap<>();
Employee harry=new Employee("Harry Hacker");
staff.put("987-98-9996",harry);
每当往映射表中添加对象时,必须同时提供一个键。在这里,键是一个字符串,对应的值是Employee对象。
想要检索一个对象,必须提供一个键。
String s="987-98-9996";
e=staff.get(s);
如果在映射表中没有与给定键对应的信息