Java中Map集合概述特点、基本功能、获取功能及Map集合的两种遍历方式

简介: Map集合概述特点、基本功能、获取功能及Map集合的两种遍历方式的简单示例

 一、Map集合概述和特点

Map集合概述:

interface Map<K,V> K:键的类型;V:值的类型

image.gif

Map集合的特点:

◆ 键值对映射关系

◆ 一个键对应一个值

◆ 键不能重复,值可以重复

◆ 元素存储无序

Map集合的基本使用:

public class MapDemo01 { 
    public static void main(String[] args) { 
        //创建集合对象 
        Map<String,String> map = new HashMap<String,String>(); 
        //V put(K key, V value) 将指定的值与该映射中的指定键相关联 
        map.put("itheima001","小林"); 
        map.put("itheima002","小张"); 
        map.put("itheima003","小王"); 
        map.put("itheima003","小刘"); 
        //输出集合对象 
        System.out.println(map); 
    } 
}

image.gif

二、Map集合的基本功能

方法介绍:

方法名 说明
V put(K key,V value) 添加元素
V remove(Object key) 根据键删除键值对元素
void clear() 移除所有的键值对元素
boolean containKey(Object key) 判断集合是否包含指定的键
boolean containValue(Oject value) 判断集合是否包含指定的值
boolean isEmpty() 判断集合是否为空
int size() 集合的长度,也就是集合中键值对的个数

示例代码:

public class MapDemo02 { 
    public static void main(String[] args) { 
        //创建集合对象 
        Map<String,String> map = new HashMap<String,String>(); 
        //V put(K key,V value):添加元素 
        map.put("张无忌","赵敏"); 
        map.put("郭靖","黄蓉"); 
        map.put("杨过","小龙女"); 
        //V remove(Object key):根据键删除键值对元素 
        System.out.println(map.remove("郭靖")); 
        System.out.println(map.remove("郭襄")); 
        //void clear():移除所有的键值对元素 
        map.clear(); 
        //boolean containsKey(Object key):判断集合是否包含指定的键 
        System.out.println(map.containsKey("郭靖")); 
        System.out.println(map.containsKey("郭襄")); 
        //boolean isEmpty():判断集合是否为空 
        System.out.println(map.isEmpty()); 
        //int size():集合的长度,也就是集合中键值对的个数 
        System.out.println(map.size()); 
        //输出集合对象 
        System.out.println(map); 
    } 
}

image.gif

三、Map集合的获取功能

方法介绍:

方法名 说明
V get(Object key) 根据键获取值
Set keySet() 获取所有键的集合
Collection values() 获取所有值的集合
Set<Map.Entry<K,V>> entrySet() 获取所有键值对对象的集合

示例代码:

public class MapDemo03 { 
    public static void main(String[] args) { 
        //创建集合对象 
        Map<String, String> map = new HashMap<String, String>(); 
        //添加元素 
        map.put("张无忌", "赵敏"); 
        map.put("郭靖", "黄蓉"); 
        map.put("杨过", "小龙女"); 
        //V get(Object key):根据键获取值 
        System.out.println(map.get("张无忌")); 
        System.out.println(map.get("张三丰")); 
        //Set<K> keySet():获取所有键的集合 
        Set<String> keySet = map.keySet(); 
        for(String key : keySet) { 
             System.out.println(key); 
        } 
        //Collection<V> values():获取所有值的集合 
        Collection<String> values = map.values(); 
        for(String value : values) { 
            System.out.println(value); 
        } 
    } 
}

image.gif

四、Map集合的两种遍历方式

方式一:

遍历思路

map集合存储的元素是成对出现的,map集合键值对为一个集合

把所有的键集中起来

遍历键的集合,获取每一个键

根据键去找到对应的值

步骤分析:

● 获取所有的键的集合,用keySet()方法实现

● 遍历键的集合,获取到每一个键,用增强for实现

● 根据键去找值,用get(Object key)方法实现

代码实现:

public class MapDemo01 { 
    public static void main(String[] args) { 
        //创建集合对象 
        Map<String, String> map = new HashMap<String, String>(); 
        //添加元素 
        map.put("张无忌", "赵敏"); 
        map.put("郭靖", "黄蓉"); 
        map.put("杨过", "小龙女"); 
        //获取所有键的集合。用keySet()方法实现 
        Set<String> keySet = map.keySet(); 
        //遍历键的集合,获取到每一个键。用增强for实现 
        for (String key : keySet) { 
            //根据键去找值。用get(Object key)方法实现 
            String value = map.get(key); 
            System.out.println(key + "," + value); 
        } 
    } 
}

image.gif

方式二:

遍历思路

存储的元素是成对出现的,所有可以把map看成一个键值对的集合

获取所有的键值对集合

遍历键值对的集合,得到每一个键值对

根据键值对获取键和值

步骤分析:

获取所有键值对对象的集合

Set<Map.Entry<K,V>> entrySet():获取所有键值对对象的集合

遍历键值对对象的集合,得到每一个键值对对象

■ 用增强for实现,得到每一个Map.Entry

根据键值对对象获取键和值

■ 用getKey()得到键

■ 用getValue()得到值

代码实现:

public class MapDemo02 { 
    public static void main(String[] args) { 
        //创建集合对象 
        Map<String, String> map = new HashMap<String, String>(); 
        //添加元素
        map.put("张无忌", "赵敏"); 
        map.put("郭靖", "黄蓉"); 
        map.put("杨过", "小龙女"); 
        //获取所有键值对对象的集合 
        Set<Map.Entry<String, String>> entrySet = map.entrySet(); 
        //遍历键值对对象的集合,得到每一个键值对对象 
        for (Map.Entry<String, String> me : entrySet) { 
            //根据键值对对象获取键和值 
            String key = me.getKey(); 
            String value = me.getValue(); 
            System.out.println(key + "," + value); 
        } 
    } 
}

image.gif

目录
相关文章
|
1月前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
192 100
|
1月前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
213 101
|
17天前
|
存储 算法 安全
Java集合框架:理解类型多样性与限制
总之,在 Java 题材中正确地应对多样化与约束条件要求开发人员深入理解面向对象原则、范式编程思想以及JVM工作机理等核心知识点。通过精心设计与周密规划能够有效地利用 Java 高级特征打造出既健壮又灵活易维护系统软件产品。
48 7
|
1月前
|
存储 Java Go
对比Java学习Go——函数、集合和OOP
Go语言的函数支持声明与调用,具备多返回值、命名返回值等特性,结合`func`关键字与类型后置语法,使函数定义简洁直观。函数可作为一等公民传递、赋值或作为参数,支持匿名函数与闭包。Go通过组合与接口实现面向对象编程,结构体定义数据,方法定义行为,接口实现多态,体现了Go语言的简洁与高效设计。
|
存储 Java
java集合框架------Map接口与实现类
java集合框架------Map接口与实现类
109 0
|
12月前
|
存储 Java 开发者
Java中的Map接口提供了一种优雅的方式来管理数据结构,使代码更加清晰、高效
【10月更文挑战第19天】在软件开发中,随着项目复杂度的增加,数据结构的组织和管理变得至关重要。Java中的Map接口提供了一种优雅的方式来管理数据结构,使代码更加清晰、高效。本文通过在线购物平台的案例,展示了Map在商品管理、用户管理和订单管理中的具体应用,帮助开发者告别混乱,提升代码质量。
125 1
|
存储 算法 Java
滚雪球学Java(65):深入理解Java中的Map接口:实现原理剖析
【6月更文挑战第19天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
182 3
滚雪球学Java(65):深入理解Java中的Map接口:实现原理剖析
|
安全 Java
【Java集合类面试三】、Map接口有哪些实现类?
这篇文章介绍了Java中Map接口的几种常用实现类:HashMap、LinkedHashMap、TreeMap和ConcurrentHashMap,以及它们适用的不同场景和线程安全性。
|
存储 算法 安全
Java 中Map接口的详解
Java 中Map接口的详解
214 0
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法