zoukankan      html  css  js  c++  java
  • 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中的键和值。那就是外部规则中有内部规则,内部规则直接访问外部规则中的内容。什么点什么,全部都是嵌套的。

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

    接口中的静态接口

  • 相关阅读:
    【C#】.net 发送get/post请求
    【C#】什么时候使用virtual什么时候使用abstract
    【C#】为什么有可能会被多个线程修改的对象要加线程锁
    【ADO.NET】 使用通用数据库操作类Database (SQL Server)
    【ADO.NET】 基础 (SQL Server)
    【前端】模拟微信上传图片(带预览,支持预览gif)
    【前端】Html5浏览器缓存 sessionStorage 与 localStorage
    【C#】.net 导出Excel功能
    【前端】jQurey Plugin
    【c#】对象转json字符串/字符串转Json对象
  • 原文地址:https://www.cnblogs.com/wsw-bk/p/8321182.html
Copyright © 2011-2022 走看看