MAP集合

map集合的特点有哪些?

map集合是无序的,键值对,建不能重复,值可以重复,集合中的键可以为空

如何给map集合赋值?可以调用map.put()方法,进行赋值(注意!键不可以重复)

如何获取到map集合的值? 可以调用map.get()方法,可以通过键获取值

运行结果

如何遍历map集合?便利map集合的方法有很多种方法如下

方法1:先获取所有建的set集合,在遍历(此方法通过建获取值)

 运行结果如下

 方法2:取出保存所有Entry的Set,在遍历set即可(此方法可以便利出键和值)

  运行结果如下

如何使map不被覆盖?可以运用以下方法(使用map.putIfAbsent()方法则是如果key不存在则执行写入

  运行结果如下

HashMap特点:线程不安全,最常用,速度快

在jdk早期版本中HashMap存在线程不安全如果他是一个类的成员变量那么它很可能存在多个线程同时去访问HashMap的情况它不能能够保证线程安全
HashTabe :它的特点是线程安全的但是性能不高
ConcurrentHashMap:线程安全,比HashTable性能高

ConcurrentHashMap 它的调用使用方法和map是一样的但是内部的实现逻辑不一样(当我们需要线程安全时可以使用ConcurrentHashMap )(ConcurrentHashMap 比HashTabe 性能高)


TerrMap:主要用在需要对key值进行排序的时候使用

运行结果如下:


LinkedHashMap:它是继承自HashMap但是LinkedHashMap是有序的,且默认为插入顺序
(当我们希望有顺序地去存储key-value时,就需要使用LinkedHashMap了)演示代码如下

 

运行结果如下

 

总结:
在map中用的最多有两个,一个是HashMap(这是用的最多的),如果说他是一个成员变量我们需要保证他的线程安全性的话我们可以使用ConcurrentHashMap 
这两个是用的比较多的HashTable虽然安全但是新能不高,在我们需要手动指定顺序时我们则会用到TreeMap
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值