Map
来源:互联网 发布:淘宝上零食店铺排名 编辑:程序博客网 时间:2024/06/11 18:48
Map(HashMap)
对于Map集合,针对的是键有效,键是唯一的,值可以重复
面试题:
Map集合和Collection区别?
对于Map集合,是一种键值对的一种映射关系,键是唯一的,值是可以重复的!(双列集合) 简单记:夫妻对
hashMap,treeMap 子实现类
Collection:集合框架的顶层的根接口,有两个子接口:List(元素可以重复),set(元素不可以重复的),单列集合 简单记:光棍(11.11)
ArrayList,Vector,LinkedList treeSet,hashSet
Map集合的功能:
添加功能: V put(K key,V value):添加元素(键和值的具体元素) 其他用法:如果键是第一次存储的时候,返回值null (小细节) 如果键已经存在,再次存储的时候将第一次的值返回,并且后面的值覆盖掉前面的值 删除功能: void clear()从此映射中移除所有映射关系(移出所有的键和值) V remove(Object key):删除键,返回值 判断功能: boolean containsKey(Object key):判断当前Map集合中是否存在key:键 boolean containsValue(Object value):判断当前Map姐中是否存在value:值 获取功能: Set<Map.Entry<K,V>> entrySet()??? V get(Object key)返回指定键所映射的值 Set<K> keySet():获取所有的键的集合 Collection<V> values():获取所有的值的集合 长度功能 int size()
遍历方法:
1.Set <String> keySet = map.keySet(); //获取键的集合 for (String key : keySet){ String value = map.get(key); //通过键去找到值 System.out.prinltn(key+"="+value); } 2.Set<Entry<String,String>> entrySet = map.entrySet(); //获取键值对的集合 for(Entry<String,String> me : entrySet){ String key = me.getKey(); String value = me.getValue(); System.out.println(key +"="+value); }
代码:
public static void main(String[] args) { Map<String,String> map= new HashMap<String,String>(); //给集合中添加元素 //V put(K key,V value):添加元素(键和值的具体元素) map.put("邓超", "孙俪") ; map.put("黄晓明", "杨颖") ; map.put("高圆圆", "赵又廷") ; map.put("刘恺威", "杨幂") ; map.put("周杰伦", "蔡依林") ; /* * 删除功能:
* void clear()从此映射中移除所有映射关系(移出所有的键和值)
* V remove(Object key):删除键,返回值
* */
// map.clear();
System.out.println(map.remove(“邓超”));
System.out.println(map);
/*
* 判断功能:
* boolean containsKey(Object key):判断当前Map集合中是否存在key:键
* boolean containsValue(Object value):判断当前Map姐中是否存在value:值
* */
System.out.println(map.containsKey(“邓超”));
System.out.println(map.containsValue(“赵又廷”));
/* * *长度功能
* int size()
* */
System.out.println(map.size());
}
结果:
孙俪
{周杰伦=蔡依林, 刘恺威=杨幂, 高圆圆=赵又廷, 黄晓明=杨颖}
false
true
4
代码:
public static void main(String[] args) { Map<String,String> hm = new HashMap<String,String>(); hm.put("邓超", "孙俪") ; hm.put("黄晓明", "杨颖") ; hm.put("高圆圆", "赵又廷") ; hm.put("刘恺威", "杨幂") ; hm.put("周杰伦", "蔡依林") ; /* * map集合的遍历 * * 思路:map---夫妻对 * 1)获取所有的丈夫的集合 * 2)让没有给丈夫找自己妻子 * 3)将所有的丈夫和妻子的值就拿到了 * * 转换: * 1)获取所有的键的集合keySet()(这种比较常用) * 2)遍历键的集合,让键找值 * 3)输出就可以了 * */ Set<String> keySet = hm.keySet(); for(String s :keySet){ String ss = hm.get(s); System.out.println(s+"="+ss); } /** * * map集合的遍历: * 思路; * 1)获取所有的结婚证的集合 * 2)遍历所有结婚证的集合, * 3)通过结婚证集合获取丈夫的值,在通过结婚证的集合获取妻子的值 * * 转换: * 1)获取键值对对象的集合 * 2)遍历键值对对象的集合, * 3)通过键值对对象找键和值 * 问题:如果获取键值对对象呢?谁代表他? * Set<Map.Entry<K,V>> entrySet()获取键值对对象(存在地址值) * */ System.out.println("**********************"); Set<Entry<String, String>> entrySet = hm.entrySet(); for(Entry<String, String> entry:entrySet){ String key = entry.getKey(); String value = entry.getValue(); System.out.println(key+"="+value); }}
结果:
周杰伦=蔡依林
刘恺威=杨幂
高圆圆=赵又廷
邓超=孙俪
黄晓明=杨颖
周杰伦=蔡依林
刘恺威=杨幂
高圆圆=赵又廷
邓超=孙俪
黄晓明=杨颖
- map
- MAP
- map
- MAP
- map
- map
- map
- Map
- Map
- Map
- map
- map
- Map
- .map
- map
- MAP
- map
- Map
- centos7 下安装minkube
- 字符串 排序-字符统计
- hdu6053 TrickGCD 莫比乌斯函数 容斥原理
- 二分查找算法
- operation failed: Active console session exists for this domain
- Map
- 快速排序算法
- 猜数游戏
- UVa524 例题7-4 素数环 (Prime Ring Problem)
- JS转换HTML转义符
- 将SpringBoot Maven项目发布到远程tomcat服务器步骤及相关问题解决
- 偶串
- SQL查询前几条数据的方法
- matlab下PC2PC网口通信操作