1. Map集合的概述:

1 public interface Map<K,V>

作为学生来说,是根据学号来区分不同的学生的,那么假设我现在已经知道了学生的学号,我要根据学号去获取学生姓名,请问怎么做呢?
如果采用前面讲解过的集合,我们只能把学号和学生姓名作为一个对象的成员,然后存储整个对象,将来遍历的时候,判断,获取对应的名称。
但是呢,如果我都能把学生姓名拿出来了,我还需要根据编号去找吗?
针对我们目前的这种需求:仅仅知道学号,就想知道学生姓名的情况,Java就提供了一种新的集合 Map。
通过查看API,我们知道Map集合的一个最大的特点,就是它可以存储键值对的元素。这个时候存储我们上面的需求,就可以这样做
 学号1 姓名1
 学号2 姓名2
 学号3 姓名3
 学号2(不行)姓名4
 学号4 姓名4

2. Map集合的特点:

将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 

3. Map集合和Collection集合的区别?

Map集合存储元素是成对出现的,Map集合的键是唯一的,值是可重复的。可以把这个理解为:夫妻对

Collection集合存储元素是单独出现的,Collection的儿子Set是唯一的,List是可重复的。可以把这个理解为:光棍(11.11)

注意:
   Map集合的数据结构只针对键有效,跟值无关
   HashMap,TreeMap等会讲。
   Collection集合的数据结构是针对元素有效

转载于:https://www.cnblogs.com/hebao0514/p/4864843.html

Java基础知识强化之集合框架笔记50:Map集合之Map集合的概述和特点相关推荐

  1. Java基础知识强化之IO流笔记03:throws的方式处理异常

    1. 什么时候使用throws ? (1)定义功能方法时候,需要把出现的问题暴露出来,让调用者去处理.那么就通过throws在方法上标识. (2)有时候,我们是可以对异常进行处理的,但是又有些时候,我 ...

  2. Java基础知识强化之IO流笔记41:字符流缓冲流之复制文本文件案例02(使用 [ newLine() / readLine() ] )(重要)...

    1. 使用字符流缓冲流的特殊功能 [ newLine() / readLine() ] 需求:把当前项目目录下的a.txt内容复制到当前项目目录下的b.txt中  数据源: a.txt -- 读取数据 ...

  3. Java基础知识强化之IO流笔记32:转换流之OutputStreamWriter的使用

    1. OutputStreamWriter的使用 OutputStreamWriter(OutputStream out):根据默认编码把字节流的数据转换为字符流 OutputStreamWriter ...

  4. Java基础知识强化之网络编程笔记25:Android网络通信之 Future接口介绍(Java程序执行超时)...

    1. Future接口简介 在Java中,如果需要设定代码执行的最长时间,即超时,可以用Java线程池ExecutorService类配合Future接口来实现. Future接口是Java标准API ...

  5. Java基础知识强化之网络编程笔记05:UDP之多线程实现聊天室案例

    1. 通过多线程改进刚才的聊天程序,这样我就可以实现在一个窗口发送和接收数据了 2.  代码示例: (1)SendThread.java,如下: 1 package com.himi.udpDemo2 ...

  6. Java基础知识强化之IO流笔记44:IO流练习之 复制图片的 4 种方式案例

    1. 复制图片的 4 种方式案例: 分析: 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流. 通过该原理,我们知道我们应该采用字节流. 而字节流有4种方式,所以做这个题目我们有 ...

  7. Java基础知识强化之网络编程笔记04:UDP之发送端的数据来自于键盘录入案例

    1. 数据来自于键盘录入 键盘录入数据要自己控制录入结束. 2. 代码实现: (1)发送端: 1 package com.himi.updDemo1; 2 3 import java.io.IOExc ...

  8. Java基础知识强化之IO流笔记59:打印流

    1. 打印流 (1)分类: • 字节打印流   PrintStream • 字符打印流   PrintWriter (2)打印流的特点: • 只能写数据,不能读数据 • 只能操作目的地,不能操作数据源 ...

  9. Java基础知识强化之网络编程笔记03:UDP之UDP协议发送数据 和 接收数据

    1. UDP协议发送数据 和 接收数据 UDP协议发送数据: • 创建发送端的Socket对象 • 创建数据,并把数据打包 • 调用Socket对象的发送方法,发送数据包 • 释放资源  UDP协议接 ...

  10. Java基础知识强化之IO流笔记42:IO流总结(图解)

    1. IO流总结(图解) 转载于:https://www.cnblogs.com/hebao0514/p/4868913.html

最新文章

  1. 揭秘:机器究竟是怎么学习的?
  2. 后盾网lavarel视频项目---1、数据迁移
  3. codeforces 872 D. Something with XOR Queries(思维)
  4. Windows下Python包和模块的安装方法(亲测手动安装)
  5. 数据湖之iceberg系列(五)-Spark实时处理数据
  6. Node.js 抓取电影天堂新上电影节目单及ftp链接
  7. Eclipse-project 重命名问题(如何彻底修改Eclipse工程名),4种解法
  8. MWeb 博客生成软件如何使用“发布脚本”发布网站?
  9. ARMv7的OP-TEE源代码的获取和编译
  10. 关于Ext checkboxfiled 获取值为 on的解决办法
  11. Anaconda下载及详细安装图文教程(基于Windows操作系统)
  12. 机器人方向顶级刊物(全网汇总)截至2022.04.09
  13. Microsoft Visual Studio 2005中使用水晶报表详细说明
  14. 博士申请 | 帝国理工学院Stefan Vlask教授招收机器学习方向全奖博士生
  15. java 代码箭头代表什么_箭头运算符' - '在Java中做什么?
  16. FRM-91500: Unable to start/complete the build.
  17. python海龟绘图教程自学网_通过海龟绘图学习Python-01
  18. 五招保护您的家用路由器安全
  19. 2018年陕西文科生可以报计算机专业am,2018年高考志愿:文科生,可以报考哪些专业!...
  20. Python---format格式化

热门文章

  1. python Selenium调用 IE/GoogleChrome/Firefox浏览器驱动的方法及下载地址
  2. [转][Python小记] 通俗的理解闭包 闭包能帮我们做什么?
  3. 互联网人必看的中台理论,阿里腾讯架构师用大白话讲出来了
  4. 没有业务思维,数据分析只能是一堆废纸
  5. python excel插件_django使用插件下载excel的方法
  6. rhel系统启动过程_Linux系统启动过程
  7. 蓝桥杯java龟兔赛跑_蓝桥杯 1476: [蓝桥杯][基础练习VIP]龟兔赛跑预测
  8. 在java中使用关键字导入包_java的import关键字的使用
  9. Norton ConnectSafe,DNS策略防止误入钓鱼网站(Norton Security)
  10. QTextEdit显示中文乱码解决,中文GB2312转Unicode,QString、QByteArray 转换,16进制显示,toUtf8与toLocal8Bit区别