`
cakin24
  • 浏览: 1399657 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

映射关系接口Map

    博客分类:
  • java
阅读更多

一 Map集合概述

  • Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的key,另外一组值用于保存Map里的value,key和value都可以是任何引用类型的数据。Map的key不允许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回false。
  • key和value之间存在单向一对一关系,即通过指定的key,总能找到唯一的、确定的value。从Map中取出数据时,只要给出指定的key,就可以取出对应的value。

     

二 代码示例

import java.util.*;

public class MapTest
{
	public static void main(String[] args)
	{
		Map map = new HashMap();
		// 成对放入多个key-value对
		map.put("Java" , 109);
		map.put("Linux" , 10);
		map.put("网络管理工具" , 79);
		// 多次放入的key-value对中value可以重复
		map.put("C++" , 99);
		// 放入重复的key时,新的value会覆盖原有的value
		// 如果新的value覆盖了原有的value,该方法返回被覆盖的value
		System.out.println(map.put("Linux" , 99)); // 输出10
		System.out.println(map); // 输出的Map集合包含4个key-value对
		// 判断是否包含指定key
		System.out.println("是否包含值为 Linux key:"
			+ map.containsKey("Linux")); // 输出true
		// 判断是否包含指定value
		System.out.println("是否包含值为 99 value:"
			+ map.containsValue(99)); // 输出true
		// 获取Map集合的所有key组成的集合,通过遍历key来实现遍历所有key-value对
		for (Object key : map.keySet() )
		{
			// map.get(key)方法获取指定key对应的value
			System.out.println(key + "-->" + map.get(key));
		}
		map.remove("网络管理工具"); // 根据key来删除key-value对。
		System.out.println(map); // 输出结果不再包含 网络管理工具=79 的key-value对
	}
}

 

三 运行结果

10
{Java=109, C++=99, Linux=99, 网络管理工具=79}
是否包含值为 Linux key:true
是否包含值为 99 value:true
Java-->109
C++-->99
Linux-->99
网络管理工具-->79
{Java=109, C++=99, Linux=99}

 

四 代码说明

添加key-value对时,Map允许多个value重复,但如果添加key-value对时Map中已有重复key,那么新添加的value会覆盖该key原来对应的value,该方法将会返回被覆盖的value。

  • 大小: 8.9 KB
0
0
分享到:
评论

相关推荐

    java中Map映射机制

    - `clear()`:删除Map中所有映射关系。 - `remove(Object key)`:根据给定的键移除对应的键值对。 - `put(Object key, Object value)`:将指定的键值对存入Map。 - `putAll(Map t)`:将另一个Map的所有映射复制...

    Map集合的继承关系图.pdf

    Map接口的继承关系图展示了Map本身及其子接口与实现类之间的层次结构。首先,Map接口有多个子接口,这些子接口为Map的不同功能和行为提供了额外的约定。比如: 1. SortedMap:这个子接口保证了在键中的顺序,提供了...

    java Pojo转Map

    Map接口则是Java集合框架的一部分,它提供了键值对的数据存储方式,方便数据的存取。将Pojo对象转换为Map,可以简化数据处理过程,尤其是在JSP页面上展示数据时,Map的灵活性更加突出。本文将详细介绍如何实现Java中...

    mapstruct-reference-guide.pdf

    - **基本映射**:通过在映射接口的方法上使用`@Mapping`注解,开发者可以指定字段或方法之间的映射关系。 - **映射组合(实验性)**:这允许开发者将多个映射逻辑组合在一起,以实现更复杂的转换逻辑。 - **添加...

    2022年ATL接口映射宏详解C语言教程.docx

    ATL 接口映射宏详解 C 语言...ATL 接口映射宏是 ATL 中的一个重要组件,它提供了一种简单且灵活的方式来定义接口映射关系。通过了解 ATL 中的接口映射机制和接口映射宏,我们可以更好地开发 COM 组件,并提高开发效率。

    Java Map接口及其实现类原理解析

    LinkedHashMap是基于链表和哈希表的Map接口实现类,它提供了一个有序的映射关系,可以根据插入顺序或访问顺序来排序。LinkedHashMap不允许null键,但允许null值。底层数据结构是链表和哈希表,保证键唯一,且可以...

    Map、Set、Iterator迭代详解

    - **entrySet()**: 返回`Map`中所有映射关系的`Set`视图。每个元素都是一个`Map.Entry`对象,通过它可以访问键和值。 - **keySet()**: 返回`Map`中所有键的`Set`视图。这些键也是唯一的,可以用来遍历所有的键。 - *...

    mapstruct-plus-main.zip

    MapStruct在编译时会生成实现这个接口的类,这个类包含了实际的映射逻辑。这样,我们就不需要手动编写这些转换方法。 在"mapstruct-plus-main.zip"这个压缩包中,可能包含以下内容: 1. **源码**:MapStruct Plus...

    MapStructDemo入门篇

    - 自定义映射逻辑:当MapStruct无法自动推断映射规则时,可以在Mapper接口中定义抽象方法,然后在子类中提供具体的实现。 - 使用条件映射:通过`@ConditionalMapping`注解,可以控制某些映射在满足特定条件时才...

    Java Map 集合类简介

    从概念上讲,可以将List视为键为数值的特殊Map,但实际上两者之间没有直接的关系。Map在Java中有多重实现,每种实现都有其特定的特性和适用场景。本文将探讨Map接口及其主要实现,并讨论如何根据应用需求选择合适的...

    Map集合笔记

    `entrySet`方法返回一个包含Map中所有映射关系的`Set`视图,每个映射关系是一个`Map.Entry`对象,该对象包含键和值。 示例代码如下: ```java public static void method_3(Map, String> map) { map.put(8, ...

    java中Map的两种遍历方法

    `entrySet()`方法返回一个包含`Map`中所有映射关系(键值对)的`Set`视图。通过迭代这个视图,可以直接获取键值对,而无需额外的查找操作,这在处理大量数据时可以提高性能。同时,这种方法提供了更简洁的代码风格。...

    List转换为List

    而Map是一个接口,表示映射关系,存储的是键值对。 #### 转换步骤: 1. **遍历List集合**:首先,我们需要有一个Bean类型的List集合。然后,使用循环遍历集合中的每一个Bean对象。 2. **创建Map对象**:针对List...

    mapstruct.zip

    然后,我们可以创建一个Mapper接口,使用注解来指定源对象和目标对象之间的映射关系。例如,假设我们有两个类`User`和`UserDto`,我们可以这样定义Mapper: ```java import org.mapstruct.Mapper; import org.map...

    List、ArrayList、Vector及map、HashTable、HashMap分别的区别

    List、ArrayList、Vector及map、HashTable、HashMap是Java容器类中的几个重要的接口和实现类,了解它们之间的区别是非常重要的。 首先,我们来看List和ArrayList的区别。List是一个接口,而ArrayList是一个实现了...

    map排序.txt

    1. **创建列表**:首先,通过`map.entrySet()`方法获取到一个包含所有映射关系(键值对)的Set集合,并将其转换为一个ArrayList。 2. **排序**:使用`Collections.sort()`方法对上一步创建的列表进行排序。这里通过...

    优雅的对象转换解决方案,为什么更推荐MapStruct呢.docx

    - 编译项目后,MapStruct会自动生成实现上述接口的映射代码。这样,就可以在项目中直接使用`OrderMapper`进行对象转换,无需手动编写转换逻辑。 4. **MapStruct的高级特性** - MapStruct支持复杂的映射逻辑,如...

    java Map 遍历方法

    使用`Map.entrySet()`方法可以返回`Map`中所有映射关系的`Set`视图,然后可以通过迭代这个`Set`来遍历整个`Map`。 ```java Map, String> emails = new Hashtable(); Iterator<Map.Entry, String>> it = emails....

    集合概述set、List、Map

    - **Map**:这是一个双列数据的集合,保存键值对(key-value)的映射关系。 #### 二、Collection **Collection**接口是最基本的集合接口,它代表一组对象,即集合。Collection接口定义了一些通用的方法,如增加元素...

    java集合MAP三种遍历

    `entrySet()`方法返回一个包含Map中所有映射关系的集合,即键值对。这种方式可以同时访问键和值,提供最大的灵活性。尽管实现上稍微复杂一些,但它能够实现更高级的操作需求。 **示例代码**: ```java public ...

Global site tag (gtag.js) - Google Analytics