Map的概述和基本功能

package cn.itcast_01;

import java.util.HashMap;
import java.util.Map;

/*
 * 
 * 作为学生来说,是根据学号来区分学生的,那么假设我现在已经知道了学生的学号,我要根据学号去获取学生
 * 的姓名,请问怎么做呢?
 * 如果采用前面讲过的集合,我们只能把学号和学生姓名作为整个对象的成员,然后存储整个对象,将来遍历的
 * 时候,判断,获取对应的名称
 * 但是,如果我都知道学生姓名拿出来了,我还需要根据编号去找吗?
 * 
 * 针对我们目前的这种需求:仅仅知道学号,就想知道学生姓名的情况,Java就提供了一种新的集合Map
 * 通过查看API,我们知道Map集合的最大特点,就是可以存储键值对的元素,这个时候存储我们上面的需求,就可以这样做
 *               键                  值
 *             学号1        姓名1
 *             学号2        姓名2
 *             学号3        姓名3
 * Map集合的特点:
 *             将键映射到值的对象,一个映射不能包含重复的键:每个键最多只能映射到一个值
 *             
 * Map集合和Collection集合的区别?
 * 
 *     Map集合存储元素是成对出现的,Map集合的键是唯一的,值是可重复的       夫妻对
 *     Collection集合存储元素是当出现的 Collection的儿子Set是唯一的List是可重复的   光棍
 *     
 * 注意:
 *      Map集合的数据结构针对键有效,根值无关
 *      Collection集合的数据结构是针对元素有效
 *   
 *      Map集合的功能概述
 *      1.添加功能
 *            V put(K key,V value)添加元素,还有另为一个功能
 *                     如果键是第一次存储元素,就直接存储元素,返回null
 *                     如果键不是第一次存储元素,就用现在的值代替原来的值,并返回原来的值
 *      2.删除功能
 *            void clean();移除所以的键值对元素
 *            V remove(Object key);根据键删除键值对元素,并把值返回
 *      3.判断功能
 *            boolean containsKey(Object key):判断集合是否包含指定的键
 *            boolean containsValue(Object value):判断集合是否包含指定的值
 *            boolean isEmpty();判断集合是否为空
 *      4.获取功能
 *            Set<Map.Entry<K V>>entrySet();返回的是键值对对象
 *            v get (Object key):根据键获取值;
 *            Set<K>keySet();获取集合中所有键的集合
 *            Collection<V> values(); 获取集合中所有值的集合
 *      5.长度功能
 *           int  size();返回集合中的键值对的对数
 *              
 */
public class Map基本功能 {

	public static void main(String[] args) {
		
		//创建集合对象
		Map<String , String> map = new HashMap<String,String>();
		
		//添加元素
		//V put(K key,V value)添加元素
		//System.out.println(map.put("文章","马伊利"));
		//System.out.println(map.put("文章","姚笛"));
		map.put("邓超","孙俪");
		map.put("黄晓明","杨颖");
		map.put("周杰伦","昆凌");
		map.put("刘恺威","杨幂");
		
		//删除功能
		// void clean();移除所以的键值对元素
		//map.clear();
	    //V remove(Object key);根据键删除键值对元素,并把值返回
		//System.out.println(map.remove("黄晓明"));
		//System.out.println(map.remove("黄晓波"));
		
		
		//判断功能
		//boolean containsKey(Object key):判断集合是否包含指定的键
		//System.out.println(map.containsKey("黄晓明"));
		//boolean containsValue(Object value):判断集合是否包含指定的值
		//System.out.println("孙俪");
		//boolean isEmpty();判断集合是否为空
		//System.out.println(map.isEmpty());
		
		//长度功能
		//int  size();返回集合中的键值对的对数
		System.out.println(map.size());
		
        //输出集合名称
		System.out.println(map);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unknown To Known

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值