集合框架-Map集合功能概述
来源:互联网 发布:摄影网络销售技巧 编辑:程序博客网 时间:2024/06/05 16:51
1:Map(掌握)
(1)将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
(2)Map和Collection的区别?
A:Map 存储的是键值对形式的元素,键唯一,值可以重复。夫妻对
B:Collection 存储的是单独出现的元素,子接口Set元素唯一,子接口List元素可重复。光棍
(3)Map接口功能概述(自己补齐)
A:添加功能
B:删除功能
C:判断功能
D:获取功能
E:长度功能
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):添加元素。这个其实还有另一个功能? 修改替换功能,第二次put,该键存在就把以前的值替换掉 * 如果键是第一次存储,就直接存储元素,返回null * 如果键不是第一次存储,就用值把以前的值替换掉,返回以前的值 * 2:删除功能 * void clear():移除所有的键值对元素 * V remove(Object key):根据键删除键值对元素,并把值返回 * 3:判断功能 * boolean containsKey(Object key):判断集合是否包含指定的键 * boolean containsValue(Object value):判断集合是否包含指定的值 * boolean isEmpty():判断集合是否为空 * 4:获取功能 * Set<Map.Entry<K,V>> entrySet():获取集合中所有的键值对象的集合(遍历map的第二种方式) * V get(Object key):根据键获取值 * Set<K> keySet():获取集合中所有键的集合(遍历map的第一种方式) * 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);}}
package cn.itcast_01;import java.util.Collection;import java.util.HashMap;import java.util.Map;import java.util.Set;/* * 获取功能: * V get(Object key):根据键获取值 * Set<K> keySet():获取集合中所有键的集合 * Collection<V> values():获取集合中所有值的集合 */public class MapDemo2 {public static void main(String[] args) {// 创建集合对象Map<String, String> map = new HashMap<String, String>();// 创建元素并添加元素map.put("邓超", "孙俪");map.put("黄晓明", "杨颖");map.put("周杰伦", "蔡依林");map.put("刘恺威", "杨幂");// V get(Object key):根据键获取值System.out.println("get:" + map.get("周杰伦"));// 返回蔡依林System.out.println("get:" + map.get("周杰")); // 返回nullSystem.out.println("----------------------");// Set<K> keySet():获取集合中所有键的集合Set<String> set = map.keySet();for (String key : set) {System.out.println(key);//周杰伦、刘恺威、邓超、黄晓明}System.out.println("----------------------");// Collection<V> values():获取集合中所有值的集合Collection<String> con = map.values();for (String value : con) {System.out.println(value);蔡依林、杨幂、孙俪、杨颖}}}
0 0
- 集合框架-Map集合功能概述
- Map集合的功能概述
- 集合框架_Map集合的功能概述、Map集合的基本功能测试
- 集合框架Map概述和特点,Map集合的基本功能,Map集合的遍历,HashMap集合,
- 集合框架--Map集合
- 集合框架_List集合的特有功能概述和测试
- Java Map集合概述
- 集合框架(集合概述)
- 集合框架--Map集合entrySet
- 集合框架--Map集合values
- 集合框架之Map集合
- 集合框架—Map集合
- Java_基础—Map集合的功能概述
- 集合框架Collection概述
- java集合框架概述
- java集合框架概述
- 集合框架概述
- 集合框架概述
- 输入1个数输出其二进制表示中1的个数
- Node js 项目启动报错,错误码,events.js:141,throw er; //Unhandled 'error' event,解决办法
- 秒杀多线程第九篇 经典线程同步总结 关键段 事件 互斥量 信号量
- 【 网络爬虫】java 使用Socket, HttpUrlConnection方式抓取数据
- 最近在学泛型,头有点大
- 集合框架-Map集合功能概述
- 秒杀多线程第十篇 生产者消费者问题
- CodeForces.158A Next Round (水模拟)
- python字符串索引
- wp-auto post pro插件【自动采集】
- POJ 2186 popular cows (tarjan + 缩点)
- [LeetCode]405. Convert a Number to Hexadecimal
- java线程池-1
- 【Java8源码分析】集合框架-ArrayList