黑马程序员技术交流社区

标题: Java基础——集合(Map集合-1) [打印本页]

作者: Dana-乌拉拉    时间: 2014-11-24 18:21
标题: Java基础——集合(Map集合-1)
第五讲     Map集合
一、概述
1、简述:
        Map<K,V>集合是一个接口,和List集合及Set集合不同的是,它是双列集合,并且可以给对象加上名字,即键(Key)
2、特点:
        1)该集合存储键值对,一对一对往里存
        2)要保证键的唯一性。

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

三、Map集合的常用方法
1、添加
        Vput(K key,V value);//添加元素,如果出现添加时,相同的键,那么后添加的值会覆盖原有键对应值,并put方法会返回被覆盖的值。
        voidputAll(Map <? extends K,? extends V> m);//添加一个集合
2、删除
        clear();//清空
        Vremove(Object key);//删除指定键值对
3、判断
        containsKey(Objectkey);//判断键是否存在
        containsValue(Objectvalue)//判断值是否存在
        isEmpty();//判断是否为空
4、获取
        Vget(Object key);//通过键获取对应的值
        size();//获取集合的长度
        Collection<V>value();//获取Map集合中所以得值,返回一个Collection集合
还有两个取出方法,接下来会逐个讲解:
        Set<Map.Entry<K,V>>entrySet();
        Set<K>  keySet();
注:HashMap集合可以通过get()方法的返回值来判断一个键是否存在,通过返回null来判断。





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