A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chenyanwei6 中级黑马   /  2016-11-24 23:01  /  881 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

一.Map集合
  |--Hashtable:底层是哈希表数据结构,不可以存入null键null值。该集合是线程同步的。JDK1.0,效率低。
  |--HashMap:底层是哈希表数据结构,允许使用null值和null值,该集合是不同步的。JDK1.3,效率高。
  |--TreeMap:底层是二叉树数据结构。线程不同步。可以用于给map集合中的键进行排序。

和Set很像。
其实大家,Set底层就是使用了Map集合。

二. Map集合:该集合存储键值对。一对一往里存。而且要保证键的唯一性。
1.添加
  put(K key,V value)
  putAll(Map<? extends K,? extends V> m)
2.删除
   clear();
   remove(Object key);
3.判断
   containsValue(Object value);
   containsKey(Object key);
4.获取
   get(Object key);
   size();
   values();
   
   entrySet();
   keySet();

三.Map集合的两种取出方式:
1.Set<k> keySet;将Map中所有的键存入到Set集合。因为Set具备各迭代器。
      所有可以用迭代方式取出所有的键,在根据get方法。获取每一个键对应的值。
   
  Map集合的取出原理:将map集合转成set集合。在通过迭代器取出。
2.entrySet;
   Set<Map.Entry<k,v>>
   entrySet:将map集合中的映射关系存入到set集合中,而这个关系的数据类型就Map.Ectry

Map.Entry:其实也是一个借口,它是Map接口中的一个内部接口。
对于Map.Entry的代码实现关系解释:
        interface Map{  //实现Map接口
                public static interface Entry{//定义内部接口,静态
                        public abstract Object getKey();
                        public abstract Object getValue();
                }
        }
        class HashMap implements Map{ //实现接口
                class Hash implements Map.Entry{//实现Map内部中的接口
                        public Object getKey() {
                               
                                return null;
                        }

                        public Object getValue() {
                               
                                return null;
                        }
                }
        }

4 个回复

倒序浏览
回复 使用道具 举报

好的,一起努力!哈哈
回复 使用道具 举报
赞一个            
回复 使用道具 举报
6666666666666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马