Android(java)学习笔记41:Map集合功能概述
1. 下面通过代码引入Map集合:
如下
- package cn.itcast_01;
- import java.util.HashMap;
- import java.util.Map;
- /*
- * 作为学生来说,是根据学号来区分不同的学生的,那么假设我现在已经知道了学生的学号,我要根据学号去获取学生姓名,请问怎么做呢?
- * 如果采用前面讲解过的集合,我们只能把学号和学生姓名作为一个对象的成员,然后存储整个对象,将来遍历的时候,判断,获取对应的名称。
- * 但是呢,如果我都能把学生姓名拿出来了,我还需要根据编号去找吗?
- * 针对我们目前的这种需求:仅仅知道学号,就想知道学生姓名的情况,Java就提供了一种新的集合 Map。
- * 通过查看API,我们知道Map集合的一个最大的特点,就是它可以存储键值对的元素。这个时候存储我们上面的需求,就可以这样做
- * 学号1 姓名1
- * 学号2 姓名2
- * 学号3 姓名3
- * 学号2(不行)姓名4
- * 学号4 姓名4
- * Map集合的特点:
- * 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
- *
- * Map集合和Collection集合的区别?
- * Map集合存储元素是成对出现的,Map集合的键是唯一的,值是可重复的。可以把这个理解为:夫妻对
- * Collection集合存储元素是单独出现的,Collection的儿子Set是唯一的,List是可重复的。可以把这个理解为:光棍(11.11)
- *
- * 注意:
- * Map集合的数据结构值针对键有效,跟值无关
- * HashMap,TreeMap等会讲。
- * Collection集合的数据结构是针对元素有效
- *
- * Map集合的功能概述:
- * 1:添加功能
- * V put(K key,V value):添加元素。这个其实还有另一个功能?先不告诉你,等会讲
- * 如果键是第一次存储,就直接存储元素,返回null
- * 如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
- * 2:删除功能
- * void clear():移除所有的键值对元素
- * V remove(Object key):根据键删除键值对元素,并把值返回
- * 3:判断功能
- * boolean containsKey(Object key):判断集合是否包含指定的键
- * boolean containsValue(Object value):判断集合是否包含指定的值
- * boolean isEmpty():判断集合是否为空,V表示是泛型
- * 4:获取功能
- * Set<Map.Entry<K,V>> entrySet():???
- * V get(Object key):根据键获取值
- * Set<K> keySet():获取集合中所有键的集合
- * Collection<V> values():获取集合中所有值的集合
- * 5:长度功能
- * int size():返回集合中的键值对的对数
- */
- public class MapDemo {
- public static void main(String[] args) {
- // 创建集合对象
- Map<String, String> map = new HashMap<String, String>();
- // 添加元素
- // V put(K key,V value):添加元素。这个其实还有另一个功能?先不告诉你,等会讲
- // System.out.println("put:" + map.put("文章", "马伊俐"));
- // System.out.println("put:" + map.put("文章", "姚笛"));
- map.put("邓超", "孙俪");
- map.put("黄晓明", "杨颖");
- map.put("周杰伦", "蔡依林");
- map.put("刘恺威", "杨幂");
- // void clear():移除所有的键值对元素
- // map.clear();
- // V remove(Object key):根据键删除键值对元素,并把值返回
- // System.out.println("remove:" + map.remove("黄晓明"));
- // System.out.println("remove:" + map.remove("黄晓波"));
- // boolean containsKey(Object key):判断集合是否包含指定的键
- // System.out.println("containsKey:" + map.containsKey("黄晓明"));
- // System.out.println("containsKey:" + map.containsKey("黄晓波"));
- // boolean isEmpty():判断集合是否为空
- // System.out.println("isEmpty:"+map.isEmpty());
- //int size():返回集合中的键值对的对数
- System.out.println("size:"+map.size());
- // 输出集合名称
- System.out.println("map:" + map);
- }
- }
Android(java)学习笔记41:Map集合功能概述的更多相关文章
- 【Java学习笔记】Map集合的keySet,entrySet,values的用法例子
import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.M ...
- Android(java)学习笔记102:Map集合功能概述
下面通过代码引入Map集合:如下 package cn.itcast_01; import java.util.HashMap; import java.util.Map; /* * 作为学生来说,是 ...
- Java集合类学习笔记(Map集合)
Map用于保存具有映射关系的数据,因此Map集合里保存着两组数据,一组用于保存Map的key,一组用于保存key所对应的value. Map的key不允许重复. HashMap和Hashtable都是 ...
- Java 学习笔记 两大集合框架Map和Collection
两大框架图解 Collection接口 由第一张图,我们可以知道,Collection接口的子接口有三种,分别是List接口,Set接口和Queue接口 List接口 允许有重复的元素,元素按照添加的 ...
- 【Java学习笔记】Map借口的子接口----HashMap
存储在HashMap集合中的元素,必须覆盖hashCode和equals方法(与HashSet类似) import java.util.HashMap; import java.util.Iter ...
- Java学习笔记34(集合框架八:综合案例:模拟斗地主的洗牌发牌)
规则: 1.54张扑克牌,有花色 2.顺序打乱,一人一张依次发牌,一人17张,留三张作为底牌 3.看牌:按大小王2A....43的序排列打印 示例: package demo; import java ...
- Java学习笔记31(集合框架五:set接口、哈希表的介绍)
set接口的特点: 1.不包含重复元素 2.set集合没有索引,只能用迭代器或增强for循环遍历 3.set的底层是map集合 方法和Collection的方法基本一样 set接口的实现类HashSe ...
- 5.2类集(java学习笔记)Map,Set接口
一.Map接口 Map接口中存储数据是通过key->value的方式成对存储的,可以通过key找到value. 二.Map接口常用子类 1.HashMap HashMap是无序存放的,key不允 ...
- 【Java学习笔记】Map
Map: 一次添加一对元素,也称为双列集合. 而Collection,一次添加一个元素,称为单列集合. 常用方法: 1.添加 value put(key,value); 返回前一个与k ...
随机推荐
- PIE SDK临时元素的绘制
1. 功能简介 在数据的处理中会用到临时元素的绘制,用于当前显示:临时元素包括点.线.面.文本.图片五种元素:目前PIE SDK支持这五种元素的绘制,下面对五种临时元素的绘制功能进行介绍. 2. 功能 ...
- TimesTen LINUX 安装日志
$ ./setup.sh NOTE: Each TimesTen installation is identified by a unique instance name. The instance ...
- CSS3--底部菜单上拉效果
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> ...
- 【3dsMax安装失败,如何卸载、安装3dMax 2016?】
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- HDFS基本工具类的实现
package com.shikun.HdfsTool;import java.io.File;import java.io.IOException;import java.net.URI;impor ...
- Murano Weekly Meeting 2016.08.23
Meeting time: 2016.August.23 1:00~2:00 Chairperson: Kirill Zaitsev, from Mirantis Meeting summary: ...
- DBNull.Value.ToString() == string.Empty
Console.WriteLine(DBNull.Value.ToString() == string.Empty); //True
- TOJ 3248 Flip Game
Description Flip game is played on a rectangular 4x4 field with two-sided pieces placed on each of i ...
- keepalive学习之软件设计
软件架构如下图所示: Keepalived 完全使用标准的ANSI/ISO C写出. 该软件主要围绕一个中央I/O复用分发器而设计,这个I/O复用分发器提供网络实时功能. 主要设计目标着重于从所有的模 ...
- Java学习第二十天
1:递归(理解) (1)方法定义中调用方法本身的现象 举例:老和尚给小和尚讲故事,我们学编程 (2)递归的注意事项: A:要有出口,否则就是死递归 B:次数不能过多,否则内存溢出 C:构造方法不能递归 ...