黑马程序员技术交流社区

标题: map [打印本页]

作者: hx79481068    时间: 2019-4-4 09:15
标题: map
1.map的概述:

                         map是一个双列集合,有key,有value

                         map的key的数据类型和value 的数据类型可以不一致

                         HashMap的key就是HashSet  ( hashMap底层依然是一个哈希表   )

                         HashMap底层是一个数组+ 链条  (1.7)

1. map中常用的方法(重点)
                       1.put(key,value)  
                                   map.put("a",对象)
                      2.get(key) 根据key获得value
                                   对象  对象名 =  map.get("a");
                      3.remove(Key)
                                     根据key ->删除对应的key的对象
                      4.containsKey
                                     包含某一个key (非常常用且重要的方法)
                      5.keySet(把对应key的所有数据利用set 进行返回)
                      6.entrySet(返回entry 对象  entry  是包含key,和value 且 下一个地址的内存地址  (hash)  )



     3.使用keySet 和entrySet进行遍历操作(重点)
   
     4._HashMap存储自定义类型键值  原理和hashSet 一模一样
   
     5.LinkedHashMap (了解)
   
     6.Hashtable 通常会和hashMap 组成面试题   hashMap 和hashTable  , concurrentHashMap(很难,java内存模型) 的区别  
   
     7._of    jdk1.9 的方法
   
                1. 简化添加元素的操作
                       1. list.of(“a”,"b","c")
                       2.  一旦创建之后,长度不可变



      面试题: hashMap 遇到相同key时,怎么处理





     HashMap
   
              1.hashMap的key 就是hashSet
   
                       1.构造方法  
   
                       2.添加方法
   
              2.entry 对象
   
                        1.entry 对象中有 key ,有value  还有下一个节点的内存地址值
   
                           思考 如何实现一个数组+ 链条
   
                        Person [] person = new Person[]
   
                        单链表 [] 单链表对象= new 单链表[];

      



作者: dc34642426    时间: 2019-4-5 09:04
哈哈哈 这是背过了吗




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2