略解java集合Map

Map(图)
是双列集合,有键值对
1.特点:

  • 和collection的区别
    • map存储元素是成对出现的,键是唯一的,值可重复,实现类是hashmap,无顺序
    • Collection存储元素是单独的
  • map集合的数据结构只针对键有效,和值无关
  • collection的数据结构针对元素有效

2.功能

  • 添加:put()方法
    如果键是第一次存储,就直接存储元素,返回null
    如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
Map<Integer, String> map=new HashMap<>();
System.out.println(map.put(1, "123"));
System.out.println(map.put(2, "123"));//这两个输出值为null,因为1,2都是第一次存储的键
System.out.println(map.put(2, "456"));//输出为123,因为456替换掉之前的123,所以返回之前的123
  • 删除功能: clear()方法,remove()方法
    前者清除集合的所有内容,后者删除键所对应的内容,并返回被删除的值
Map<Integer, String> map=new HashMap<>();
//添加值
map.put(1,"123");
map.put(2,"456");
map.put(3,"123");
map.remove(3);//移除键3所对应的值
System.out.println(map.remove(3));//输出{3=123},这里输出的是被移除的值
System.out.println(map);//结果为{1=123, 2=456}
map.clear();//清除所有的值
System.out.println(map);//结果为{}
  • 判断功能:
    • isEmpty():判断集合是否为空
    • containsKey():判断集合是否包含指定的键
    • containsValue():判断集合是否包含指定的值
Map<Integer, String> map=new HashMap<>();
map.put(1,"123");
map.put(2,"456");
map.put(3,"123");
System.out.println(map.isEmpty());//结果为false,不为空
System.out.println(map.containsKey(1));//true,有键1
System.out.println(map.containsValue("123"));//true,有值123
  • 获取功能
    • get():默认输入键,得到所对应的值
    • keySet():获得键的集合
    • values():获得值的集合
    • Set<Map.Entry<K,V>>:获取集合中的映射关系并组成set集合
Map<Integer, String> map=new HashMap<>();
map.put(1,"123");
map.put(2,"456");
map.put(3, "123");
System.out.println(map.get(1));//得到键1所对应的值
System.out.println(map.keySet());//结果为[1, 2, 3],键的集合
System.out.println(map.values());//结果为[123, 456, 123],值的集合
Set<Map.Entry<Integer, String>> aEntries=map.entrySet();//变为set集合
System.out.println(aEntries);//结果为[1=123, 2=456, 3=123]
  • 长度功能:size():返回集合中的键值对的对数
hashmap

键是哈希表结构,可以保证键的唯一性

哈希值:散列函数是亿欧中从任何一种昂数据中创建小的数字的“指纹”的方法

值唯一:通过对文件内容进行加密运行得到的一组二进制值,用途是用于文件及校验或签名,正是因为这样的特点,它经常用来判断两份文件是否相同。

LinekedHashMap

Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。

TreeMap

键是红黑树结构,可以保证键的排序和唯一性

Collections

Collections:是针对集合进行操作的工具类,都是静态方法。

Collection和Collections的区别?

Collection:是单列集合的顶层接口,有子接口List和Set。
Collections:是针对集合操作的工具类,提供了一系列的静态方法,用于对集合中元素进行排序,搜索以及线程安全等各种操作

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倪行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值