第十七天

Map类

1. Map双边队列

1.1 什么是Map

键(Key)值(Value)对
一个键 = 一个值
例如:吴京 = 谢楠
程序开发大部分数据都是键值对形式的
  MySQL JSON XML 类对象成员变量和存储的数据
  从前端发送的数据也可以转成Map格式 ==> 一键生成 ==> 类对象 ==> 一键存储 ==> 数据库
interface Map<K, V>
–| class HashMap<K, V> 哈希表结构
–| class TreeMap<K, V> 底层是树形结构,存储要求K有对应的排序方式
Map双边队列中键(Key)是唯一的,但是值(Value)可以重复

1.2 Map<K, V>双边队列方法
  1. 增:
    put(K k, V v);
      存入一个键值对类型,K和V都要符合泛型约束
      
    putAll(Map<? extends K, ? extends V> map);
      存入另一个Map双边队列,并且要求添加的Map双边对接中的K和V都要和当前Map中存储的K和V一致

  2. 删:
    remove(Object k);
      删除对应K的键(Key)值(Value)对

  3. 改:
    put(K k, V v);
      对应当前K存在,修改对应内容

  4. 查:
    int size();
      当前Map双边队列中,有效键值对个数
    boolean isEmpty();
      是否为空
    boolean containsKey(Object key);
      判断指定的Key是否存在
    boolean containsValue(Object value);
      判断指定Value是否存在
    Set keySet();
      返回整个Map双边队列中所有Key对应的Set集合
      【注意】一个方法使用set结尾,表示该方法返回的是一个集合类型,大多是情况下都是Set类型
      返回整个Map双边队列中所有Value对应的Collection集合
      【注意】方法名如果是一个复数,返回值类型集合或者是数组情况居多

1.3 EntrySet

Entry 可以认为是键值对对象
定义在Map类内

class Entry<K, V> {
  K k;
  V v;
 }

K,V是完全依赖于Map约束的,这里可以Entry里面保存的是每一个键值对类对象
Map中提供了一个方法
  Set<Entry<K, V>> entrySet
  返回值是键值对类对象Set集合
   Set集合中存储的是Entry类型
   Entry类型是带有泛型的

1.4 TreeMap<K, V> 以及Comparable和Comparator

K是需要有对应的比较方式,如果没有比较方式,无法存入。
推荐使用Comparator接口

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值