关于Map的那些事

Map:
以键值对的形式存储值 键不能重复(如果键重复了 值会被覆盖) 值可以重复
Map也是一种容器的接口,里面存储的是一对一对的数据,每添加一次,添加的是两个(一对)数据
Collection体系,存储在都是单个单个的数据,数据之间没有关系的
Map和Collection是两个没有关系并列的体系(主要从代码结构来看)
Map的声明: public interface Map{}

常用的实现类:
HashMap:
HashMap是Map接 口实现
1.可以使用nu11作为键或者值
2.无序(输出顺序和添加顺序不一样)
3.线程不安全
键值对是成对出现的 键不能重复的(否则会覆盖之前的值) 值可以重复
遍历的三个方式:
1.entrySet() 返回一个 Set视图的映射包含在这个Map。
2. keySet() 返回一个 Set的关键视图包含在这个Map。
3.values()返回一个 Collection视图的值包含在这个Map(得到的是values值)

HashTable :
Map的接口的实现类(Map下面的键不能重复,值可以重复 ,否则就重复了)
1.不能以nu11作为键或者值且无序
2.线程安全(通过对put方法进行synchronized同步保证线程安全,Hashtable保证线程安全的方式效率较低)
遍历方式还是entrySet与keySet 再获取迭代器

Properties ;
用来操作读取配置文件
1.线程安全 效率较低 同步方法保证线程安全
2.不能够存储以null作为键或者值的键值对
特点:
list方法 将内存中的数据持久化到磁盘
PrintStream printStream=new PrintStream()
load方法 将磁盘中的数据读取到内存中
FileInputStream fileInputStream=new FileInputStream();
相对路径:相对当前项目的根路径
绝对路径:带有盘符
遍历方式:都是通过获取entrySet或者keySet 然后使用迭代器

ConcurrentHashMap:
Map接口的实现类
1.线程安全,效率较高,同步代码块
2.不能以null作为key或者value

其重要方法:
1.Object put(Object key,Object value); 如果当前添加的这个key已经存在了,会覆盖这个键之前的值,返回的是之前的value值
2.boolean containsKey(Object key) 判断Map集合中是否包含当前的传入的key
3.boolean containsValue(Object value) 判断Map集合中是否包含当前的传入的value
4.Object get(Object key) ; 根据指定的键key找到对应的值,如果没有找到返回 null
5.remove(Object key) ; 删除指定key对应的那一对
6.Collection values() 返回一个Map中的所有的value值 Collection集合
7.Set keySet() 返回所有的key值的集合(key是唯一的,所以返回的是Set集合)
8.Set entrySet() 返回所有的entry对象(key是唯一的,所以返回的是Set集合)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值