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集合就写到这里,好累,赶紧睡觉去。。。。。。


0 0
原创粉丝点击