返回顶部
首页 > 资讯 > 精选 >Java中的map如何使用
  • 831
分享到

Java中的map如何使用

javamap 2023-05-30 21:05:05 831人浏览 泡泡鱼
摘要

这篇文章给大家介绍Java中的map如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Map与Collection提到Map集合接口就不能不提到Collection集合接口,map和Collection都是集合接口

这篇文章给大家介绍Java中的map如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Map与Collection

提到Map集合接口就不能不提到Collection集合接口,map和Collection都是集合接口,Collection中包含了我们经常用的list和set子接口;而Map是与Collection处于平级的地位;Collection中存储的是一组对象,而Map存储的是一个键值对(key/value).

Map

java为数据结构中的映射定义了一个接口java.util.Map
Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。

Map 提供了一个更通用的元素存储方法。Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。从概念上而言,您可以将 List 看作是具有数值键的 Map。而实际上,除了 List 和 Map 都在定义 java.util 中外,两者并没有直接的联系。

在Map对象中,Key是唯一的,不可重复的。null也可以作为key,但这样的key只能有一个;但是可以有一个或多个key所对应的value都是null。

常用api: 

clear()从 Map 中删除所有映射
remove(Object key)从 Map 中删除键和关联的值
put(Object key, Object value)将指定值与指定键相关联
putAll(Map t)将指定 Map 中的所有映射复制到此 map
entrySet()返回 Map 中所包含映射的 Set 视图。Set 中的每个元素都是一个 Map.Entry 对象,可以使用 geTKEy() 和 getValue() 方法(还有一个 setValue() 方法)访问后者的键元素和值元素
keySet()返回 Map 中所包含键的 Set 视图。如果要删除 Set 中的元素还将会删除 Map 中相应的映射(键和值)
values()返回 map 中所包含值的 Collection 视图。如果要删除 Collection 中的元素还将会删除 Map 中相应的映射(键和值)
get(Object key)返回与指定键关联的值
containsKey(Object key)如果 Map 包含指定键的映射,则返回 true
containsValue(Object value)如果此 Map 将一个或多个键映射到指定值,则返回 true
isEmpty()如果 Map 不包含键-值映射,则返回 true
size()返回 Map 中的键-值映射的数目

当我们想判断map中是否存在某个key时,可以用方法containsKey()来判断,同样想判断是否存在value时用方法containsValue()来判断;代码如下:

public static void main(String[] args) {Map< Serializable, Serializable > map = new HashMap< Serializable, Serializable >();map.put(null,null);map.put("a", "1");map.put("b", "2");map.put("c", "3");if (map.containsKey("a")) {System.out.println("Key=Ture");if (map.containsValue("1")) {System.out.println("value=Ture");}}}

执行结果是:
Key=Ture value=Ture

Map中提供了一些常用的方法来取出Map中的数据,用的比较多的比如:entrySet()方法,;entrySet()的返回值是个Set集合,此集合的类型为Map.Entry。Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法,代码如下:

public static void main(String[] args) {Map< Serializable, Serializable > map = new HashMap< Serializable, Serializable >();map.put(null,null);map.put("a", "1");map.put("b", "2");map.put("c", "3");Set<Entry<Serializable, Serializable>> entrySet= map.entrySet();System.out.println("entrySet="+entrySet);for (Entry key : entrySet) {System.out.println("key.getKey="+key.getKey()+" key.getValue()="+ key.getValue());}}

执行的结果如下:

entrySet=[null=null, a=1, b=2, c=3]
key.getKey=null key.getValue()=null
key.getKey=a key.getValue()=1
key.getKey=b key.getValue()=2
key.getKey=c key.getValue()=3

接下来要说的是keySet方法,keySet()方法返回值是Map中key值的集合,然后可以通过get(key)遍历来获取value值,代码如下:

public static void main(String[] args) {     Map< Serializable, Serializable > map = new HashMap< Serializable, Serializable >();     map.put(null,null);     map.put("a", "1");     map.put("b", "2");     map.put("c", "3");          Set keySet= map.keySet();     System.out.println("keySet="+keySet);     for (Iterator iterator = keySet.iterator(); iterator.hasNext();) {       Object key = (Object) iterator.next();       Object value = map.get(key);       System.out.println("key = "+key+ " value="+value);     }   }

执行的结果如下:

keySet=[null, a, b,c]
key = null value=null
key = a value=1
key = b value=2
key = c value=3

最后要说的是,map还有一个values()方法,values()方法返回值是Map中value值的集合,通过遍历可以取出value的值,代码如下:

public static void main(String[] args) {Map<Serializable, Serializable> map = new HashMap<Serializable, Serializable>();map.put(null, null);map.put("a", "1");map.put("b", "2");map.put("c", "3");Collection c = map.values();System.out.println("map.values()=" + map.values());for (Iterator iterator = c.iterator(); iterator.hasNext();) {Object value = (Object) iterator.next();System.out.println("value="+value);}}

代码执行结果如下:

map.values()=[null,1, 2, 3]
value=null
value=1
value=2
value=3

自己做的一个利用map进行hql语句拼接的小例子:

public class HqlMap {public static void main(String[] args) {Map<Serializable, Serializable> map = new HashMap<Serializable, Serializable>();map.put("isDelete", 0);map.put("roomTypeName", "test");Map<Serializable, Serializable> map1 = new HashMap<Serializable, Serializable>();StringBuilder hqlBuilder = new StringBuilder();hqlBuilder.append(" from Build ");String hql = "" ;if (map.isEmpty()) {hql=hqlBuilder.toString();} else {hqlBuilder.append(" where ");Set keySet = map.keySet();for (Iterator iterator = keySet.iterator(); iterator.hasNext();) {Object key = (Object) iterator.next();hqlBuilder.append(key + "=:" + key + " and ");}//去掉最后的一个and int lastIndex = hqlBuilder.lastIndexOf("and");if (lastIndex > -1) {hql = hqlBuilder.substring(0, lastIndex)             + hqlBuilder.substring(lastIndex + 3,                 hqlBuilder.length());}}System.out.println(hql);}}

关于Java中的map如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: Java中的map如何使用

本文链接: https://lsjlt.com/news/221392.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java中的map如何使用
    这篇文章给大家介绍Java中的map如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Map与Collection提到Map集合接口就不能不提到Collection集合接口,map和Collection都是集合接口...
    99+
    2023-05-30
    java map
  • jquery中map如何使用
    本篇内容介绍了“jquery中map如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • java中的map怎么使用
    在Java中,Map是一种用于存储键值对的数据结构,其中每个键都是唯一的。Map接口是Java集合框架中的一部分,它有多个实现类,例...
    99+
    2023-08-24
    java map
  • java中map怎么使用
    在Java中,Map是一种用于存储键值对的数据结构。它提供了快速查找和访问的能力,其中每个键都是唯一的。以下是使用Map的一些常见操...
    99+
    2023-08-09
    java
  • Hive中如何使用MAP JOIN
    这篇文章给大家分享的是有关Hive中如何使用MAP JOIN的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Hive中简介及使用MAP JOIN   Hive中的Join可分为Common Jo...
    99+
    2023-06-03
  • ​Java中Map的entrySet()怎么使用
    在Java中,使用entrySet()方法可以获取Map中的所有键值对。该方法返回一个Set对象,其中K是键的类型,V是值的类型。 ...
    99+
    2023-10-23
    ​Java
  • JS中的Map对象如何使用
    这篇文章主要讲解了“JS中的Map对象如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JS中的Map对象如何使用”吧!JS中的Map对象js创建map对象var map&nb...
    99+
    2023-07-05
  • C++中的map容器如何使用
    这篇“C++中的map容器如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++中的map容器如何使用”文章吧。一、m...
    99+
    2023-07-05
  • Python中的map函数如何使用
    在Python中,map() 函数用于将一个函数应用到一个或多个可迭代对象的每个元素上,并返回一个将该函数应用到每个元素后的结果组成...
    99+
    2024-04-08
    python
  • Java集合框架中如何掌握Map和Set 的使用
    这篇文章将为大家详细讲解有关Java集合框架中如何掌握Map和Set 的使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 搜索1.1 场景引入在学习编程时,我们常见的搜索方式...
    99+
    2023-06-22
  • java中map不用了如何释放
    在Java中,如果不再使用Map对象,可以通过将其设置为null来释放它。这样可以让垃圾收集器回收不再使用的对象,并释放内存。例如:...
    99+
    2023-09-16
    java
  • javascript中如何使用map方法
    这篇文章主要介绍javascript中如何使用map方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页...
    99+
    2023-06-14
  • C++中map和set如何使用
    这篇文章主要介绍了C++中map和set如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++中map和set如何使用文章都会有所收获,下面我们一起来看看吧。一、set1.1 set的介绍首先要知道set...
    99+
    2023-07-05
  • Python中如何使用map函数
    Python中如何使用map函数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。用法map(func, seq1[, seq2,…])map接收两个参数,第一个参数是函数名,...
    99+
    2023-06-04
  • java中如何获取map的key值
    在Java中,可以使用`Map`的`keySet()`方法获取`Map`的所有key值。`keySet()`方法返回一个`Set`集...
    99+
    2023-08-31
    java
  • java中map集合怎么使用
    在Java中,Map是一种键值对的集合,它提供了一种将键映射到值的方式。Map接口是Java集合框架中的一部分,它有多个实现类,例如...
    99+
    2023-10-08
    java
  • 如何在c++中使用map结构
    如何在c++中使用map结构?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。map的常用用法map 表示映射,可以将任何基本类型(包括 STL 容器)映射到任何基本类型(包括 S...
    99+
    2023-06-14
  • java中map如何循环取key
    小编给大家分享一下java中map如何循环取key,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!import java.awt.List;import java.util.ArrayList;import java.uti...
    99+
    2023-06-03
  • java中如何获取map的所有键
    在Java中,可以使用`keySet()`方法获取Map的所有键。该方法返回一个Set集合,其中包含Map中所有的键。以下是一个示例...
    99+
    2023-08-31
    java
  • java中怎么使用map做表格
    在Java中,可以使用Map来模拟表格的数据结构。表格通常由行和列组成,每个单元格都有一个唯一的键值对应。下面是一个使用Map实现表...
    99+
    2023-08-31
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作