黑马程序员技术交流社区

标题: Map集合基础知识总结 [打印本页]

作者: chenyanwei6    时间: 2016-11-24 23:01
标题: Map集合基础知识总结
一.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;
                        }
                }
        }
作者: zsq8210366    时间: 2016-11-24 23:05
加油,一起努力

作者: chenyanwei6    时间: 2016-11-24 23:18
zsq8210366 发表于 2016-11-24 23:05
加油,一起努力

好的,一起努力!哈哈
作者: lieyemu    时间: 2016-11-25 21:04
赞一个            
作者: xss222    时间: 2016-12-6 00:24
6666666666666




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