集合框架之接口Map
- 介绍
- 方法
- 小结
- 应用
1、介绍
1、在集合中允许嵌套(根据key键取value值即可)
2、map集合key不能重复(value可重复)
3、关系:
注:
1、map集合中的泛型要使用包装类,不能使用引用数据类型
2、若需要了解更多详细请点击下方链接,找到 java.util 里面的的接口map即可查看
http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
2、方法
map接口里面有许许多多的方法,本人在这里讲其中三个方法(put, entrySet, keySet)一个是增加方法(put)两个遍历方法(entrySet, keySet)其他的方法如下图
a、put(增加)
put(K key, V value)
putAll(Map<? extends K,? extends V> m)
例如下:
b、遍历方法(entrySet, keySet)
entrySet()
keySet()
如下:
结果:
3、小结
Map:
Hashtable:底层是哈希表数据结构,不可以存入null键null值,
集合石线程同步的,jdk1.0,效率低
HashMap:底层是哈希表数据结构,允许使用null值和null键,
该集合是不同步的。将Hashtable替代;jdk1.2,效率高
TreeMap:底层是二叉树数据结构,线程不同步,
可以用于给Map集合中的键进行排序
注意:
添加元素时,如果键已经在集合中存在,那么后添加的值会
覆盖原来的值,并且put方法会将原有的值返回
4、应用
例1:
实体类建好之后就开始写方法了,这里我就用着写好后的方法直接截图了
注意题目的最后一问,需求改变,所以再次写一个方法,完成需求
方法都写好后我们就开始调方法以及加入测试数据完成题目了
最后我们查看一下结果就可以知道我们的正不正确了
例1就到这里结束了
例2:
看见就这么点是不是很激动,不不不,提示少了,难度增加,首先,我们去分析一下题目
(喜欢先排序的可以先排序,本人这里是先统计再排序的)思路理清楚了,我们也该着手做题了
首先,我们先随机定义一个字符串
可以清晰的看出我在里面写了一个次数的方法,所以,现在我们只需要把这个方法写好,这个题目就做出来了,方法如下
方法写好,只需要运行结果,就可以查看了,结果如下:
好了,应用就到这里了,谢谢~