Java基础知识强化之集合框架笔记50:Map集合之Map集合的概述和特点
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集合的概述和特点相关推荐
- Java基础知识强化之IO流笔记03:throws的方式处理异常
1. 什么时候使用throws ? (1)定义功能方法时候,需要把出现的问题暴露出来,让调用者去处理.那么就通过throws在方法上标识. (2)有时候,我们是可以对异常进行处理的,但是又有些时候,我 ...
- Java基础知识强化之IO流笔记41:字符流缓冲流之复制文本文件案例02(使用 [ newLine() / readLine() ] )(重要)...
1. 使用字符流缓冲流的特殊功能 [ newLine() / readLine() ] 需求:把当前项目目录下的a.txt内容复制到当前项目目录下的b.txt中 数据源: a.txt -- 读取数据 ...
- Java基础知识强化之IO流笔记32:转换流之OutputStreamWriter的使用
1. OutputStreamWriter的使用 OutputStreamWriter(OutputStream out):根据默认编码把字节流的数据转换为字符流 OutputStreamWriter ...
- Java基础知识强化之网络编程笔记25:Android网络通信之 Future接口介绍(Java程序执行超时)...
1. Future接口简介 在Java中,如果需要设定代码执行的最长时间,即超时,可以用Java线程池ExecutorService类配合Future接口来实现. Future接口是Java标准API ...
- Java基础知识强化之网络编程笔记05:UDP之多线程实现聊天室案例
1. 通过多线程改进刚才的聊天程序,这样我就可以实现在一个窗口发送和接收数据了 2. 代码示例: (1)SendThread.java,如下: 1 package com.himi.udpDemo2 ...
- Java基础知识强化之IO流笔记44:IO流练习之 复制图片的 4 种方式案例
1. 复制图片的 4 种方式案例: 分析: 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流. 通过该原理,我们知道我们应该采用字节流. 而字节流有4种方式,所以做这个题目我们有 ...
- Java基础知识强化之网络编程笔记04:UDP之发送端的数据来自于键盘录入案例
1. 数据来自于键盘录入 键盘录入数据要自己控制录入结束. 2. 代码实现: (1)发送端: 1 package com.himi.updDemo1; 2 3 import java.io.IOExc ...
- Java基础知识强化之IO流笔记59:打印流
1. 打印流 (1)分类: • 字节打印流 PrintStream • 字符打印流 PrintWriter (2)打印流的特点: • 只能写数据,不能读数据 • 只能操作目的地,不能操作数据源 ...
- Java基础知识强化之网络编程笔记03:UDP之UDP协议发送数据 和 接收数据
1. UDP协议发送数据 和 接收数据 UDP协议发送数据: • 创建发送端的Socket对象 • 创建数据,并把数据打包 • 调用Socket对象的发送方法,发送数据包 • 释放资源 UDP协议接 ...
- Java基础知识强化之IO流笔记42:IO流总结(图解)
1. IO流总结(图解) 转载于:https://www.cnblogs.com/hebao0514/p/4868913.html
最新文章
- 揭秘:机器究竟是怎么学习的?
- 后盾网lavarel视频项目---1、数据迁移
- codeforces 872 D. Something with XOR Queries(思维)
- Windows下Python包和模块的安装方法(亲测手动安装)
- 数据湖之iceberg系列(五)-Spark实时处理数据
- Node.js 抓取电影天堂新上电影节目单及ftp链接
- Eclipse-project 重命名问题(如何彻底修改Eclipse工程名),4种解法
- MWeb 博客生成软件如何使用“发布脚本”发布网站?
- ARMv7的OP-TEE源代码的获取和编译
- 关于Ext checkboxfiled 获取值为 on的解决办法
- Anaconda下载及详细安装图文教程(基于Windows操作系统)
- 机器人方向顶级刊物(全网汇总)截至2022.04.09
- Microsoft Visual Studio 2005中使用水晶报表详细说明
- 博士申请 | 帝国理工学院Stefan Vlask教授招收机器学习方向全奖博士生
- java 代码箭头代表什么_箭头运算符' - '在Java中做什么?
- FRM-91500: Unable to start/complete the build.
- python海龟绘图教程自学网_通过海龟绘图学习Python-01
- 五招保护您的家用路由器安全
- 2018年陕西文科生可以报计算机专业am,2018年高考志愿:文科生,可以报考哪些专业!...
- Python---format格式化
热门文章
- python Selenium调用 IE/GoogleChrome/Firefox浏览器驱动的方法及下载地址
- [转][Python小记] 通俗的理解闭包 闭包能帮我们做什么?
- 互联网人必看的中台理论,阿里腾讯架构师用大白话讲出来了
- 没有业务思维,数据分析只能是一堆废纸
- python excel插件_django使用插件下载excel的方法
- rhel系统启动过程_Linux系统启动过程
- 蓝桥杯java龟兔赛跑_蓝桥杯 1476: [蓝桥杯][基础练习VIP]龟兔赛跑预测
- 在java中使用关键字导入包_java的import关键字的使用
- Norton ConnectSafe,DNS策略防止误入钓鱼网站(Norton Security)
- QTextEdit显示中文乱码解决,中文GB2312转Unicode,QString、QByteArray 转换,16进制显示,toUtf8与toLocal8Bit区别