集合篇:

Java_Collection_集合

Java_集合—Collection和Iterator

Java_集合—List

Java_集合—Set

Java_集合—Map

Java_集合的工具类—Collections

集合Map,在我们日常编程中也是很常见的,它最大的特点就是键值对的形式进行对数据的存储。

Map,本身是一个接口,所有的Map集合都实现这个接口,先来看看Map集合中都定义了哪些方法:

方法看完就来看看都有哪些已知的子类:

HashTable:底层是哈希表结构,不可以存入null作为键或者值,该集合是同步的。

HashMap:底层是哈希表结构,允许使用null作为键或者值,该集合不同步的,已经将HashTable替代了

TreeMap:底层是二叉树结构,线程不同步,可以用于给Map集合中的键进行排序。

重点来看看HashMap。

怎么讲呢?不如直接来看看上面的方法怎么用吧,其实上面的都比较简单了,看方法名就知道了,就不再解释,重点来看看下面介个方法:

map.keySet();   map.values();  map.entrySet();

这几个方法都涉及到集合元素的获取。集合的获取,前面不是有么?get啊,没错,get是可以,但get的前提是要知道键,否则是取不了值的。如果我要遍历怎么办?遍历简单啊,Iterator啊,然后把api找了一遍,都找不到有获取Iterator的方法,傻了吧!别急,下面来看看怎么获取:

获取的方式无非就两种,一种是先获取出所有的键,然后根据键去获取值。另一种就是直接获取出所有的键和值;

先看看第一种:

代码的line26-32是对集合的遍历。首先line26:通过Map集合的keyset();方法获取集合中所有的键,这个键获取回来的是一个set的集合,然后在根据set集合的遍历方式去遍历它,逐个获取,最后line30,通过键去获取值,并打印出来。

再来看看另一种:

这种也很好理解,上一种是先获取所有的键,然后通过键去获取值,这个就是一次把所有的键和值都获取回来,然后通过getKey() 和 getValue() 方法去获取。

不管先获取键,还是一次获取所有的键值,获取回来的都是一个set的集合。

最后,还有一个方法:map.values();

这个方法又有什么用呢?先来看看怎么用?

其实和获取所有的键一样,只是有一点不同的是,我们获取回来的键是一个set的集合,而值获取回来的是一个collection的集合。其他都一样。

再来说说这个方法有什么用呢?其实用的真不多,但例如:集合里面存储的是一个班级里面所有学生的学号和年龄,那么,是不是可以直接把所有的value取出来就可以了,我不需要知道哪个学生的年龄,我要知道的是每个年龄在这个班级的比重是多少而已!

所以,还是有点用的;

Map集合就写到这里,好累,赶紧睡觉去。。。。。。

Java_集合—Map相关推荐

  1. Java_集合_map

    Java_集合_map 1.Map集合 1.1Map集合概述和特点[理解] Map集合概述 interface Map<K,V> K:键的类型:V:值的类型 Map集合的特点 键值对映射关 ...

  2. java map collection_java 集合----Map、Collection

    接口:红色:实现类:黑色字体 一.Collection集合 Collection |_____Set(HashSet) |      |_____SortedSet(TreeSet) |_____Li ...

  3. 【Groovy】map 集合 ( map 集合操作符重载 | 使用 << 操作符添加一个元素 | 代码示例 )

    文章目录 一.使用 " << " 操作符添加一个元素 二.代码示例 一.使用 " << " 操作符添加一个元素 对 map 集合 使用 ...

  4. 【Groovy】map 集合 ( map 集合操作符重载 | + 操作符重载 | 代码示例 )

    文章目录 一.map 集合 " + " 操作符重载 二.代码示例 一.map 集合 " + " 操作符重载 对 map 集合使用 " + " ...

  5. 【Groovy】map 集合 ( map 集合遍历 | 使用 map 集合的 each 方法遍历 map 集合 | 代码示例 )

    文章目录 一.使用 map 集合的 each 方法遍历 map 集合 二.代码示例 一.使用 map 集合的 each 方法遍历 map 集合 遍历 map 集合 , 可以调用 map 集合的 eac ...

  6. 01-java基础加强,eclipse工具使用,快捷键,断点调试,单元测试,jdk5新特性,增强for循环,集合map,list,可变参数,枚举,反射,泛型

    一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Project) 3) ...

  7. (7)Java数据结构--集合map,set,list详解

    MAP,SET,LIST,等JAVA中集合解析(了解) - clam_clam的专栏 - CSDN博---有颜色, http://blog.csdn.net/clam_clam/article/det ...

  8. java集合——Map

    集合--Map Map家族 实现类: HashMap LinkedHashMap Hashtable ConcurrentHashMap TreeMap Properties 1.HashMap 1. ...

  9. java 双列集合Map 万字详解

    目录 一.前言 二.概述 三.特点 四.常用方法 1. V put(K key, V value) : Δ代码演示 : 2. V get(Object key) : Δ代码演示 : 3. V remo ...

最新文章

  1. 一行命令装下所有「炼丹」工具及依赖项,就靠这个免费软件源了|教程
  2. 小程序渲染html的两种方法
  3. AspNet Core 下利用普罗米修斯+Grafana构建Metrics和服务器性能的监控
  4. mybatis插入数据后返回自增主键ID详解
  5. Oracle开启关闭归档日志
  6. 自定义ActionBar
  7. jabc spring
  8. Wordle是优秀的信息可视化吗?如何真正使用Wordle?
  9. 厦门92坐标参数讨论
  10. Mac环境安装Win虚拟机
  11. 渗透测试常见问题以及方法
  12. 360浏览器各历史版本大全和bug汇总(及历史版本官方下载地址)
  13. 国际贸易相关术语-DDP
  14. pycharm安装使用技巧
  15. mysql的primary key_MySQL Primary Key约束
  16. 阿里云虚拟主机Nginx配置
  17. C语言必背经典程序代码
  18. 卸载 HI 英文输入法( InputHelp )
  19. c语言杨辉三角的实验心得体会范文,大学生实验心得体会精选范文5篇
  20. 电子商务系统的测试(十四)

热门文章

  1. 取模运算总结 - 数论
  2. 深度学习_目标检测_SPP(Spatial Pyramid Pooling)详解
  3. 指纹识别综述(2): 指纹传感器
  4. 自变量趋于无穷大时函数的极限
  5. 【蓝牙Mesh笔记 ①】ESP32-C3 模组上实现天猫精灵蓝牙 BLE Mesh AliGenie 接入,无需WiFi 连接也可以实现天猫精灵语音控制。
  6. Web Service 自动生成代码报错
  7. 我的第一本英文书读书心得
  8. 企业防病毒体系建设的探讨
  9. python 使用wxpy实现获取微信好友列表 头像 群成员
  10. 图像处理之高斯金字塔