集合map
Posted xuejiaqiang88
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合map相关的知识,希望对你有一定的参考价值。
Map集合
* 1.Map集合中存储的是一对儿元素。键和值。之间存在着对应关系。
* 2.必须要保证键的唯一性。
* 3.如果存储键相同,值会覆盖。
集合框架-Map-常见方法
put(K key, V value)
将指定的值与此映射中的指定键关联(可选操作)。
返回:
返回与 key 相关联的先前值,如果 key 没有映射关系,则返回 null(返回 null 可能还表示映射以前将null 与指定键关联)
返回:
指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
@Test public void test1(){ /* * 需求:将学号和对应的学生姓名进行存储。 */ Map<Integer,String> map = new HashMap<Integer,String>(); //存储键值对。 System.out.println(map.put( 2 , "小花" )); //之前与 key 关联的值,如果没有针对 key 的映射关系,则返回 null System.out.println(map.put( 2 , "麻子" )); //小花,麻子之前是小花 map.put( 6 , "赵六" ); map.put( 1 , "王五" ); System.out.println(map); //并没有排序,并且不是有序。2=麻子,“小花”被覆盖 System.out.println(map.get( 1 )); //王五 } 测试结果: null 小花 { 1 =王五, 2 =麻子, 6 =赵六} 王五 |
集合框架-Map-keySet方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
Set底层用的是Map集合的Key // * 获取Map中的所有键值对。 // * Map取出所有元素的原理:将map先转成set,再使用迭代器。 // * @Test public void test2(){ Map<String,String> map = new HashMap<String,String>(); map.put( "zhangsan" , "北京" ); map.put( "lisi" , "上海" ); map.put( "wangwu" , "成都" ); map.put( "zhaoliu" , "广州" ); System.out.println(map); //第一种方式: //获取map集合中的键的集合。keySet(); Set<String> keySet = map.keySet(); //通过set集合获取迭代器。 Iterator<String> it = keySet.iterator(); while (it.hasNext()){ String key = it.next(); String value = map.get(key); System.out.println(key+ ":" +value); } } |
集合框架-Map-entrySet方法&values方法
接口 Map.Entry<K,V>。这个接口是非常重要的,以前Java培训的老师说过,Entry接口是Map接口的内部接口,因为要访问Map接口中的成员变量,所以就定在内部了,而且它和Map的关系是,先有Map接口中的成员变量,之后才有了Entry接口,表示成员变量之间的关系,所以就定在了里面。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
@Test public void test3(){ Map<String,String> map = new HashMap<String,String>(); map.put( "zhangsan" , "北京" ); map.put( "lisi" , "上海" ); map.put( "wangwu" , "成都" ); map.put( "zhaoliu" , "广州" ); System.out.println(map); //第二种方式: //获取map集合中所有的键值关系集合。entrySet,键值关系的类型是 Map.Entry. Set<Map.Entry<String, String>> entrySet = map.entrySet(); //迭代器取出所有的关系对象。 Iterator<Map.Entry<String, String>> it = entrySet.iterator(); while (it.hasNext()){ Map.Entry<String, String> me = it.next(); String key = me.getKey(); String value = me.getValue(); System.out.println(key+ "::" +value); } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
@Test public void test4(){ Map<String,String> map = new HashMap<String,String>(); map.put( "zhangsan" , "北京" ); map.put( "lisi" , "上海" ); map.put( "wangwu" , "成都" ); map.put( "zhaoliu" , "广州" ); System.out.println(map); //第三种方式:获取值的集合。values(); Collection<String> values = map.values(); Iterator<String> it = values.iterator(); while (it.hasNext()){ String value = it.next(); System.out.println(value); } } |
以上是关于集合map的主要内容,如果未能解决你的问题,请参考以下文章
201621123037 《Java程序设计》第9周学习总结
RecyclerView holder中的Android Google Maps动态片段
Groovymap 集合 ( map 集合遍历 | 使用 map 集合的 each 方法遍历 map 集合 | 代码示例 )