zoukankan      html  css  js  c++  java
  • JAVA-初步认识-常用对象API(集合框架-重点方法keyset演示图解)

    一.

    现在取出map集合中的所有元素,不是输出集合,而是取出集合中所有元素。猜想是否可以采用迭代器,发现map中没有迭代器方法,

    如果它有迭代器就出事了,因为collection里面具备迭代器,map和collection没什么关系,所以它不能有迭代器。那怎么办呢?

    这里面有get方法,通过键就可以拿到相应的值,如果拿到所有的键,那么有可能得到所有的值。现在一个个拿键太麻烦了,

     这里有一个方法叫keyset,key是键,set是集合,合起来就是键集。视图可以理解为一种可视化的映射关系。他里面存储了一种结构,你能看到这种结构,它会拿到或者返回这种结构。

    map这个词起的很好,地图就是一个标准的映射关系图。

    keyset怎么用呢?它返回的是set集合,这里面装的全都是键,

     取出map中的所有元素,原理是什么?

    map是没有迭代器的,set有迭代器。

    首先它访问的是set集合,来一个set。往set里面装的是键,键是Integer。紧跟着来个keyset,keyset这个名字是故意取的,可读性强有意义。keyset这个名字和方法名相同了,故意的。

    while中为什么能够冒出key?

    输出的结果就是2,6,7,8。hashmap是无序的,接下来找值怎么找?

    直接将程序中while修改一下,就可以了,

    对这里的知识点我是这么理解的,直接取出所有的键和值,是无法操作的。先借用外在的东西取出所有的键,然后再取出所有的值。

    下面图解一下,

    map集合双列的,然后对集合做了一个操作。通过keyset得到了一个set集合,里面装的都是key。这个时候,拿到了所有键的集合。接着迭代,对每一个键进行get,(这就奇怪了,为什么key可以在不同的部分起作用呢?)先拿所有键,再拿所有的值就容易了。

     

  • 相关阅读:
    Golang 函数
    Golang type
    Golang 分支控制和循环
    Golang 字符型
    Golang运算符
    final 和 static 的区别
    Golang标识符命名规则
    Golang值类型与引用类型
    Golang指针
    启动 jvm 参数小总结
  • 原文地址:https://www.cnblogs.com/wsw-bk/p/8320790.html
Copyright © 2011-2022 走看看