• JAVA-初步认识-常用对象API(集合框架-重点方法entryset演示图解)


    一.

    对于上一节的操作而言,这里还有另外一种做法,相对而言,有一点麻烦。

    从刚才的动作,总结出一个原理。map集合没有迭代器,但是我们可以把map转换成有迭代器的集合,比如说set。

    这是为什么呢?为什么不返回arrylist,这是拿所有的键,键是唯一的,所以返回的应该是set集合,保证元素的唯一性。

    接下来,在API当中,还有一个方法也是返回set集合,(这里的set有什么特殊含义么?)

    现在用它来完成取出所有元素的方式。keyset大家比较容易明白,里面装的都是键。但是,entryset是返回此映射所包含的映射关系的set视图,映射关系是什么意思呢?映射关系,代表这键和值之间的对应,这里面存储的是对应关系。map.entry是键值关系类型,一会儿解释为什么这么写。对应关系里面包含键和值。

     迭代器后面要有泛型(不太懂)。it.next返回的是结婚证,set中的泛型我不管,但是迭代器中的泛型和set中的要一致。

    一现在有点纠结,有了结婚证,怎么拿这里面的键和值呢?结婚证里面本身包含着键和值,由键和值组成。取结婚证里的键和值,结婚证自己最清楚。

    点击一下map.entry<K,V>这个结婚证,方法摘要中显示都能取的出来,而且还能设置。随便可以改变某一个键的值。

    结果显示没有问题,这是第二种取出方法。画个图解释一下,

    entrySet得到的结婚证什么样呢?它把键和值封装成一个对象,这是一个元素,存了四个元素。这里面的一个元素就是map,entry<key.value>对象。

    很多人对map.entry<key,value>有点迷糊,对于下图的写法有点搞不清。

    这种操作以前见过,

    myentry是接口,随着外部接口加载而加载。

    先说map接口,然后往下看是嵌套类。嵌套类是内置类,是静态的interface,

    点进去看,是正在封闭接口map当中。你见过静态注释么?只有成员才有,所以它是个成员。

    为什么要把它定义在里面,放在外面不行么?MyEntry是一个包含键和值的内容,它是键和值的映射关系对象,只有现有这种map映射,才存在着关系。而它把关系封装成对象,关系在访问map中的键和值。那就是外部规则中有内部规则,内部规则直接访问外部规则中的内容。什么点什么,全部都是嵌套的。

    内部类本身是种封装形式,但是如果它能对外使用的话,就暴露出去。

    接口中的静态接口

  • 相关阅读:
    Java 强、弱、软、虚,你属于哪一种?
    为啥阿里巴巴规定要在 @Transactional 指定 rollbackFor?
    DataGrip 上手体验,真香!
    日志框架选型,Logback 还是 Log4j2?
    基于OpenLayers和ArcGIS Server REST的要素信息保存功能
    基于Openlayers和Arcgis Server REST实现地图(要素)点击查询功能
    使用OpenLayers加载ArcGIS Server矢量图层
    ArcGIS Server在线编辑功能
    使用OpenLayers显示百度地图
    如何分析SAP ABAP的SYSTEM_NO_ROLL运行时错误
  • 原文地址:https://www.cnblogs.com/wsw-bk/p/8321182.html
Copyright © 2020-2023  润新知