JAVA笔记十五

十五、Map

映射(map)是存储键和值间关联(键值对)的对象

给定一个键,可以找到其值

键和值都是对象

键必须唯一,但是值可以重复

1.支持映射的接口

接 口

描 述

Map

将唯一键映射到值

NavigableMap

扩展SortedMap接口,以处理基于最接近匹配搜索原则的键/值对检索

SortedMap

扩展Map接口,从而以升序保存键

Map.Entry

描述映射中的元素(键/值对)

映射的两个基本操作:

(1)get()

指定键和值,放入到映射中

(2)put()

传递键,可以返回值

2.映射类

(1)HashMap

实现了Map接口,使用哈希表存储映射

构造方法:

HashMap()

空参构造

HashMap(int capacity)

指定容量,默认16

HashMap(int capacity,int fillRatio)

充填比率,0.0-1.0之间,默认0.75

(2)LinkHashMap

扩展了HashMap类,在内部使用一个链表维护条目添加到映射中的顺序,可以按照插入顺序迭代整个映射

构造方法:

LinkHashMap()

空参构造

LinkHashMap(int capacity)

指定容量,默认16

LinkHashMap(int capacity,int fillRatio)

充填比率,0.0-1.0之间,默认0.75

(3)TreeMap

扩展了AbstractMap类,并实现了NavigableMap接口,使用树接口存储条目,提供了有序存储键/值对的高效手段,并支持快速检索

构造方法:

TreeMap()

TreeMap(Comparator<?  super  K>  comp)

TreeMap(Map<?  extends  K,?  extends  V>  m)

TreeMap(SortedMap<K,?  extends  V>  sm)

(4)Hashtable

实现了Map接口,与HashMap类似

区别:

1.Hashtable是同步的、线程安全的,而HashMap不是同步的,没有实现线程安全

2.HashMap允许将null作为一个条目的key或者value,而Hashtable不允许。当然只能有一个条目的键为null

3.HashMap把Hashtable的contains方法去掉了,改成containsvalue方法和containsKey方法contains方法容易让人引起误解

3.Map的遍历

映射不是集合,没有实现Collection接口,不能直接遍历

(1)entry接口

entry是Map的内部接口,定义了以下方法:

getKey():返回该映射条目的键

getValue():返回该映射条目的值

setValue():设置该映射条目的值

(2)获得映射的集合视图

使用entrySet()方法:返回包含映射中所有元素的Set对象

使用keySet()方法:返回包含映射中所有键的Set对象

使用values()方法:返回包含映射中所有值的Collection对象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值