Java-map容器

Map集合接口

Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个 value。Map接口提供3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。

主要方法:

void clear( )从此映射中移除所有映射关系(可选操作)
void putAll(Map m)从指定映射中将所有映射关系复制到此映射中(可选操作)

boolean containsKey(Object k)如果此映射包含指定键的映射关系,则返回 true
boolean containsValue(Object v)如果此映射将一个或多个键映射到指定值,则返回 true
boolean isEmpty( )如果此映射未包含键-值映射关系,则返回 true
boolean equals(Object obj)比较指定的对象与此映射是否相等

Set entrySet( )返回此映射中包含的映射关系的 Set 视图

Object get(Object k)返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null
Object put(Object k, Object v)将指定的值与此映射中的指定键关联(可选操作)
Object remove(Object k)如果存在一个键的映射关系,则将其从此映射中移除(可选操作)

int hashCode( )返回此映射的哈希码值
int size( )返回此映射中的键-值映射关系数

Set keySet( )返回此映射中包含的键的 Set 视图

Collection values( )返回此映射中包含的值的 Collection 视图

HashMap类

  
HashMap是非同步的,并且允许null,即null value和null key,但是只能有一个null Key,因为Key是不能重复的,查询的效率比较高,默认初始容量 (16) 和默认加载因子 (0.75) ,底层是数组+链表实现的,JKD1.8底层是数组+链表+红黑树

注意:LinkedHashMap可以按照存入元素顺序存储。

TreeMap类

  
TreeMap继承Map接口,排序根据红黑树(Red-Black tree)实现。该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。

HashMap和Hashtable的区别?

HashMap继承于AbstractMap类,Hashtable继承于Dictionary类
HashMap可以有 null key 和 null value,Hashtable不允许有null key 和 null value
HashMap是非线性安全的,Hashtable是线性安全的
HashMap默认的初始化大小为16,之后每次扩充,容量变为原来的2倍;Hashtable默认的初始大小为11,之后每次扩充,容量变为原来的2n+1。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值