Java中的映射 Map接口

        Collection接口接口操作的时候,每次都会向集合中增加一个元素,但是如果增加的是一对元素,则使用Map接口来实现,Map是专门用来存储键---值对的对象,Map中存在的关键字和值都必须是对象,并要求关键字是唯一,而值可以重复。

        Map集合 ,键值的映射关系的一种集合(接口) * 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。

        Map接口的常用实现类有HashMap和LinkedHashMap类、TreeMap类和Hashtable类。前三个类的行为和功能与Set实现类HashSet、LinkedHashSet以及TreeSet类似。

         Map集合和Collection的区别?

 Map集合:是一种键和值的映射关系(双列集合) 当作为:夫妻对
 Collection集合:单列集合,只能存储一种类型的元素       当作为:光棍


间接关系:HashSet依赖于Map接口的子实现类HashMap的

     TreeSet依赖于Map接口的子实现类TreeMap的

Map<K,V> ,在Map集合中,只针对键有效,跟值无关 Map接口的子实现类:HashMap和TreeMap

 Map接口的功能:
             V put(K key,V value) :添加功能:将指定的值和键关联起来

             如果当前的这个键是一次存储,则返回值null

            如果不是第一次存储,返回值是第一次对应的值,当前的值就把之前的键对应的值替换掉!

 
  1)获取功能
   set<Map.Entry<K,V>> entrySet() :和Map集合的遍历有关系(键值对对象)
   Set<K> keySet():获取映射关系中所有的键的集合
   int size()返回此映射中的键-值映射关系数
   2)删除功能
   void clear():删除所有映射关系
             Vremove(Object key)如果存在一个键的映射关系,则将其从此映射中移除
  
           3)判断功能:
   boolean containsKey(Object key)如果此映射包含指定键的映射关系,则返回 true
                 boolean containsValue(Object value):映射关系中是否包含指定的值
   boolean isEmpty():判断映射关系是否为空。

 在Map的操作中,可根据Key找到对应的value,如果找不到,则内容为null,而且由于使用的是HashMap类,所以输出的键值对的顺序和放入的顺序并不保持一致,另外,在HashMap里面的key允许为null。

HashMap类的构造方法包括:

1)HashMap()创建一个空的映射对象,使用缺省的填充因子

2)HashMap(int initial Capacity)用指定的初始容量和缺省的填充因子创建一个映射对象。

3)HashMap(int initial Capacity,float loadFactor)用指定的初始容量与填充因子创建一个映射对象。

4)HashMap(Map t)用指定的映射对象创建一个新的映射对象。

LinkedHashMap是HashMap类的子类,它保持键的顺序和插入的顺序一致,其构造方法与HashMap的构造方法一致。

TreeMap可以使存放按照Key值有序存放,注意:由于需要按照Key值进行排序有序存放,而且Key值本身就是对象,因此对象所在的类必须实现Comparable接口。

TreeMap类的构造方法如下:

1)TreeMap()创建根据键的自然顺序排序的空的映射。

2)TreeMap(Comparaor c)根据给定的比较器创建一个空的映射。

3)TreeMap(Map m)用指定的映射创建一个新的映射,根据键的自然顺序排序。

4)TreeMap(SortedMap m)在指定的SortedMap对象创建新的TreeMap对象。


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值