Java_集合—Map
来源:互联网 发布:阿里云域名交易平台 编辑:程序博客网 时间:2024/05/21 07:45
集合篇:
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
- Java_集合—Collection—Map
- JAVA_集合总结Map
- Java_基础—Map集合概述和特点
- Java_基础—Map集合的功能概述
- Java_基础—Map集合的遍历之键找值
- Java_集合操作_合并两个map
- Java_集合—List
- Java_集合—Set
- java_集合体系之Map框架相关抽象类接口详解、源码——08
- Java_基础—Map集合的遍历之键值对对象找键和值
- Java_集合操作_List与Set与Map概括
- Java_遍历Map集合的四种方法
- java_集合
- java_集合
- java_集合
- java_集合
- java_集合
- Docker入门实战(三)——用Dockerfile构建镜像
- 【BLE-CC2640】CC2640之添加自定义服务
- 选择捐赠,给我动力
- 常见的等待事件(一)
- 报错:Oracle Intelligent Agent Executable
- Java_集合—Map
- cxf整合spring运行在tomcat时出现version 51.0
- 断言ASSERT()是什么?
- caffe 多个cudnn
- Webstorm10.0.4 破解过程
- Mobile Movie Texture (Unity视频播放插件)
- struts2的文件上传
- 'latin-1' codec can't encode character 的解决方案
- HTTP Referer