Android(java)学习笔记102:Map集合功能概述
下面通过代码引入Map集合:如下
1 package cn.itcast_01; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 /* 7 * 作为学生来说,是根据学号来区分不同的学生的,那么假设我现在已经知道了学生的学号,我要根据学号去获取学生姓名,请问怎么做呢? 8 * 如果采用前面讲解过的集合,我们只能把学号和学生姓名作为一个对象的成员,然后存储整个对象,将来遍历的时候,判断,获取对应的名称。 9 * 但是呢,如果我都能把学生姓名拿出来了,我还需要根据编号去找吗? 10 * 针对我们目前的这种需求:仅仅知道学号,就想知道学生姓名的情况,Java就提供了一种新的集合 Map。 11 * 通过查看API,我们知道Map集合的一个最大的特点,就是它可以存储键值对的元素。这个时候存储我们上面的需求,就可以这样做 12 * 学号1 姓名1 13 * 学号2 姓名2 14 * 学号3 姓名3 15 * 学号2(不行)姓名4 16 * 学号4 姓名4 17 * Map集合的特点: 18 * 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 19 * 20 * Map集合和Collection集合的区别? 21 * Map集合存储元素是成对出现的,Map集合的键是唯一的,值是可重复的。可以把这个理解为:夫妻对 22 * Collection集合存储元素是单独出现的,Collection的儿子Set是唯一的,List是可重复的。可以把这个理解为:光棍(11.11) 23 * 24 * 注意: 25 * Map集合的数据结构值针对键有效,跟值无关 26 * HashMap,TreeMap等会讲。 27 * Collection集合的数据结构是针对元素有效 28 * 29 * Map集合的功能概述: 30 * 1:添加功能 31 * V put(K key,V value):添加元素。这个其实还有另一个功能?先不告诉你,等会讲 32 * 如果键是第一次存储,就直接存储元素,返回null 33 * 如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值 34 * 2:删除功能 35 * void clear():移除所有的键值对元素 36 * V remove(Object key):根据键删除键值对元素,并把值返回 37 * 3:判断功能 38 * boolean containsKey(Object key):判断集合是否包含指定的键 39 * boolean containsValue(Object value):判断集合是否包含指定的值 40 * boolean isEmpty():判断集合是否为空,V表示是泛型 41 * 4:获取功能 42 * Set<Map.Entry<K,V>> entrySet():??? 43 * V get(Object key):根据键获取值 44 * Set<K> keySet():获取集合中所有键的集合 45 * Collection<V> values():获取集合中所有值的集合 46 * 5:长度功能 47 * int size():返回集合中的键值对的对数 48 */ 49 public class MapDemo { 50 public static void main(String[] args) { 51 // 创建集合对象 52 Map<String, String> map = new HashMap<String, String>(); 53 54 // 添加元素 55 // V put(K key,V value):添加元素。这个其实还有另一个功能?先不告诉你,等会讲 56 // System.out.println("put:" + map.put("文章", "马伊俐")); 57 // System.out.println("put:" + map.put("文章", "姚笛")); 58 59 map.put("邓超", "孙俪"); 60 map.put("黄晓明", "杨颖"); 61 map.put("周杰伦", "蔡依林"); 62 map.put("刘恺威", "杨幂"); 63 64 // void clear():移除所有的键值对元素 65 // map.clear(); 66 67 // V remove(Object key):根据键删除键值对元素,并把值返回 68 // System.out.println("remove:" + map.remove("黄晓明")); 69 // System.out.println("remove:" + map.remove("黄晓波")); 70 71 // boolean containsKey(Object key):判断集合是否包含指定的键 72 // System.out.println("containsKey:" + map.containsKey("黄晓明")); 73 // System.out.println("containsKey:" + map.containsKey("黄晓波")); 74 75 // boolean isEmpty():判断集合是否为空 76 // System.out.println("isEmpty:"+map.isEmpty()); 77 78 //int size():返回集合中的键值对的对数 79 System.out.println("size:"+map.size()); 80 81 // 输出集合名称 82 System.out.println("map:" + map); 83 } 84 }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。