首页 > 其他 > 详细

浅谈Map集合

时间:2015-12-31 08:47:58      阅读:151      评论:0      收藏:0      [点我收藏+]

1.map集合是存储键值对的集合,要保证键的唯一性。

Map集合的常见方法:

1.增加

put()

putAll()

2.删除

remove()

clear()

3.判断

isContains(key)

isContains(key)

isEmpty

4获取

get(key)

size()

values()

keySet()// 获取所有键

EntrySet()//获取映射关系

Map子类

--HashTable  数据结构哈希表不允许空键值 并发 效率低

--HashMap    数据结构哈希表   允许空键值  效率高 不并发

--TreeMap   底层数据结构是二叉树,不并发,可以适用于对键排序的情况    

注意:如果Map集合添加的两个元素键一样,会存在覆盖现象(put方法打印的结果为上一次的值)

我们在碰到实际问题的时候,首先要对实际的问题进行建模

比如:一个学校,有多间教室,一个教室有多个学生

大map嵌套小map(解决现实中的一对多的问题)

 1 import java.util.*; import java.util.*;
 2 class MapTest4
 3 {
 4         public static void main(String[] args)
 5         {
 6                 HashMap<String,HashMap<String,Integer>> fjsd=new HashMap<String,HashMap<String,Integer>>();
 7                 HashMap<String,Integer> xueYuan1=new HashMap<String,Integer>();
 8                 HashMap<String,Integer> xueYuan2=new HashMap<String,Integer>();
 9                 fjsd.put("xueyuan1",xueYuan1);//集合进行想关联
10                 fjsd.put("xueyuan2",xueYuan2);
11                 //添加学生映射关系
12                 xueYuan2.put("zhangsan",18);
13                 xueYuan2.put("lisi",18);
14                 xueYuan1.put("wangwu",18);
15                 xueYuan1.put("lisi",19);
16                 xueYuan1.put("zhangsanhahah",20);
17                 //先取大集合的value
18                 Set<Map.Entry<String,HashMap<String,Integer>>> entrymap=fjsd.entrySet();
19                 for(Iterator<Map.Entry<String,HashMap<String,Integer>>> it=entrymap.iterator();it.hasNext();)
20                 {
21                         Map.Entry<String,HashMap<String,Integer>> me=it.next();
22                         String key=me.getKey();
23                         HashMap<String,Integer> value=me.getValue();
24                         System.out.println(key);
25                         method(value);
26                         
27                 }
28                 
29         }
30         public static void method(HashMap<String,Integer> hm)
31         {
32                 Set<Map.Entry<String,Integer>> szgx=hm.entrySet();
33                 for(Iterator<Map.Entry<String,Integer>>it=szgx.iterator();it.hasNext();)
34                 {
35                         Map.Entry<String,Integer> mpa=it.next();
36                         String name=mpa.getKey();
37                         Integer age=mpa.getValue();
38                         System.out.println(name+"...."+age);
39                 }
40                 
41         }
42 }

 

浅谈Map集合

原文:http://www.cnblogs.com/theones2015/p/5090597.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!