初识java集合——映射表(Map)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识java集合——映射表(Map)相关的知识,希望对你有一定的参考价值。

*映射表
* java类库为映射表提供了两个通用的实现 HashMap和TreeMap
* HashMap对键进行散列,TreeMap用键的整体顺序对元素进行排序,构建成搜索树
*
* 与Set相似,HashMap的速度要比TreeMap要快一点,同时不需要按照排列访问,也应该选择HashMap
* 注意,键的值必须是唯一的,如果第二次put了一个同样的键值进去,第二次的值会取代第一次的值,put会
* 返回用这个键参数存储的上一个值
*
* 我们可以获取Map的视图,这是一组实现了Collection接口对象,或者它的子接口的视图
* 有3个视图,分别是
* 键集,值集合(单纯的集合而已,不是set),键/值对集。键和键/值形成了一个Set,这是因为在Map中一个Key
* 只能有一个副本
*
* 下列三个方法返回前面对应介绍的3个视图
* Set<K> keySet() (keySet 不属于hashSet和TreeSet,而是实现了Set接口的某个其他类的对象)
* Collection<V> values()
* Set<Map<key, value>> entrySet()
*
* 不能将元素添加到键集的视图中,因为单纯的添加一个键是没有意义的。
* entrySet也有同样的限制,不过,从概念上讲,添加新的键/值对是有意义的

 

例子

 1 public static void main(String[] args) {
 2     
 3     Map<String, Employee> staff=new HashMap<>();
 4     staff.put("144-25-5464", new Employee("Amy Lee"));
 5     staff.put("576-24-2546", new Employee("Harry hacker"));
 6     staff.put("334-45-5174", new Employee("Gary Cooper"));
 7     staff.put("124-75-0174", new Employee("Francesca Cruz"));
 8     
 9     System.out.println(staff);
10     
11     staff.remove("576-24-2546");
12     
13     staff.put("124-75-0174", new Employee("new Francesca Cruz"));
14     
15     System.out.println(staff.get("334-45-5174"));
16     
17     //迭代访问
18     for (Map.Entry<String, Employee> entry : staff.entrySet()) {
19         String key = entry.getKey();
20         Employee value = entry.getValue();
21         System.out.println("key="+key+", value"+value);
22     }
23 }

 





















以上是关于初识java集合——映射表(Map)的主要内容,如果未能解决你的问题,请参考以下文章

Java集合之Map接口

java初识集合(list,set,map)

Java中的集合(Map)

Java基础中map接口和实现类

HashMap源代码阅读

初识OpenGL (-)纹理(Texture)