1. 下面通过代码引入Map集合:

如下

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

Android(java)学习笔记41:Map集合功能概述的更多相关文章

  1. 【Java学习笔记】Map集合的keySet,entrySet,values的用法例子

    import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.M ...

  2. Android(java)学习笔记102:Map集合功能概述

    下面通过代码引入Map集合:如下 package cn.itcast_01; import java.util.HashMap; import java.util.Map; /* * 作为学生来说,是 ...

  3. Java集合类学习笔记(Map集合)

    Map用于保存具有映射关系的数据,因此Map集合里保存着两组数据,一组用于保存Map的key,一组用于保存key所对应的value. Map的key不允许重复. HashMap和Hashtable都是 ...

  4. Java 学习笔记 两大集合框架Map和Collection

    两大框架图解 Collection接口 由第一张图,我们可以知道,Collection接口的子接口有三种,分别是List接口,Set接口和Queue接口 List接口 允许有重复的元素,元素按照添加的 ...

  5. 【Java学习笔记】Map借口的子接口----HashMap

    存储在HashMap集合中的元素,必须覆盖hashCode和equals方法(与HashSet类似)   import java.util.HashMap; import java.util.Iter ...

  6. Java学习笔记34(集合框架八:综合案例:模拟斗地主的洗牌发牌)

    规则: 1.54张扑克牌,有花色 2.顺序打乱,一人一张依次发牌,一人17张,留三张作为底牌 3.看牌:按大小王2A....43的序排列打印 示例: package demo; import java ...

  7. Java学习笔记31(集合框架五:set接口、哈希表的介绍)

    set接口的特点: 1.不包含重复元素 2.set集合没有索引,只能用迭代器或增强for循环遍历 3.set的底层是map集合 方法和Collection的方法基本一样 set接口的实现类HashSe ...

  8. 5.2类集(java学习笔记)Map,Set接口

    一.Map接口 Map接口中存储数据是通过key->value的方式成对存储的,可以通过key找到value. 二.Map接口常用子类 1.HashMap HashMap是无序存放的,key不允 ...

  9. 【Java学习笔记】Map

    Map: 一次添加一对元素,也称为双列集合. 而Collection,一次添加一个元素,称为单列集合. 常用方法: 1.添加 value  put(key,value);        返回前一个与k ...

随机推荐

  1. PIE SDK临时元素的绘制

    1. 功能简介 在数据的处理中会用到临时元素的绘制,用于当前显示:临时元素包括点.线.面.文本.图片五种元素:目前PIE SDK支持这五种元素的绘制,下面对五种临时元素的绘制功能进行介绍. 2. 功能 ...

  2. TimesTen LINUX 安装日志

    $ ./setup.sh NOTE: Each TimesTen installation is identified by a unique instance name. The instance ...

  3. CSS3--底部菜单上拉效果

    <!DOCTYPE html><html>    <head>        <meta charset="UTF-8">      ...

  4. 【3dsMax安装失败,如何卸载、安装3dMax 2016?】

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  5. HDFS基本工具类的实现

    package com.shikun.HdfsTool;import java.io.File;import java.io.IOException;import java.net.URI;impor ...

  6. Murano Weekly Meeting 2016.08.23

    Meeting time: 2016.August.23 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary: ...

  7. DBNull.Value.ToString() == string.Empty

    Console.WriteLine(DBNull.Value.ToString() == string.Empty); //True

  8. TOJ 3248 Flip Game

    Description Flip game is played on a rectangular 4x4 field with two-sided pieces placed on each of i ...

  9. keepalive学习之软件设计

    软件架构如下图所示: Keepalived 完全使用标准的ANSI/ISO C写出. 该软件主要围绕一个中央I/O复用分发器而设计,这个I/O复用分发器提供网络实时功能. 主要设计目标着重于从所有的模 ...

  10. Java学习第二十天

    1:递归(理解) (1)方法定义中调用方法本身的现象 举例:老和尚给小和尚讲故事,我们学编程 (2)递归的注意事项: A:要有出口,否则就是死递归 B:次数不能过多,否则内存溢出 C:构造方法不能递归 ...