[AIGC] 深入理解Java Map接口

深入理解Java Map接口

Java Map提供了一个存储键值对的数据结构,键是唯一的,但值可以重复。在Java中,Map接口是java.util包中的一部分,它定义了操作映射的方法。本篇文章将介绍Java Map接口中的常用API。

Map接口常用方法

以下是Map接口的一些常用方法:

基本操作

  1. put(K key, V value): 将指定的值和此映射关联的指定键(可选操作)。

    java 复制代码
    Map<String, Integer> map = new HashMap<>();
    map.put("Apple", 1);
  2. get(Object key): 返回此映射中指定键所映射的值;如果此映射不包含此键的映射关系,则返回null。

    java 复制代码
    Map<String, Integer> map = new HashMap<>();
    map.put("Apple", 1);
    System.out.println(map.get("Apple")); // 1
  3. remove(Object key): 如果存在,则从此映射中移除键的映射关系(可选操作)。

    java 复制代码
    Map<String, Integer> map = new HashMap<>();
    map.put("Apple", 1);
    map.remove("Apple");
  4. clear(): 从此映射中移除所有映射关系(可选操作)。

    java 复制代码
    Map<String, Integer> map = new HashMap<>();
    map.put("Apple", 1);
    map.clear();

查询操作

  1. containsKey(Object key): 如果此映射包含指定键的映射关系,则返回true。

    java 复制代码
    Map<String, Integer> map = new HashMap<>();
    map.put("Apple", 1);
    System.out.println(map.containsKey("Apple")); // true
  2. containsValue(Object value): 如果此映射将一个或多个键映射到指定值,则返回true。

    java 复制代码
    Map<String, Integer> map = new HashMap<>();
    map.put("Apple", 1);
    System.out.println(map.containsValue(1)); // true

迭代操作

  1. keySet(): 返回此映射中包含的键的Set视图。

    java 复制代码
    Map<String, Integer> map = new HashMap<>();
    map.put("Apple", 1);
    for (String key : map.keySet()) {
        System.out.println(key);
    }
  2. entrySet(): 返回此映射中包含的映射关系的Set视图。

    java 复制代码
    Map<String, Integer> map = new HashMap<>();
    map.put("Apple", 1);
    for (Map.Entry<String, Integer> entry : map.entrySet()) {
        System.out.println(entry.getKey() + ": " + entry.getValue());
    }

这些方法只是Map接口的一部分,它还包括其他很多方法,可以去查看官网的JavaDoc以获取更多的信息。

相关推荐
会编程的吕洞宾4 分钟前
Spring AI 2.0 结构化输出实战:让大模型返回精准 JSON 不再“抽风“,准确率从 78% 拉到 99%
java·后端
项目題供诗6 分钟前
ai大模型(三)
java
Dawson Zhu9 分钟前
【AI Infra小白入门⑦】Transformer架构工程拆解:从Attention到MLA的优化密码
人工智能·语言模型·架构·aigc·agi
Csvn11 分钟前
灰度发布:让变更只影响 1% 用户(R02)
人工智能·aigc·agent
用户2986985301415 分钟前
Python 实现 Word 与 TIFF 双向转换的方案
后端·python·api
wangjialelele25 分钟前
一文梳理 Spring Cloud 核心组件:Eureka、Nacos、OpenFeign、LoadBalancer 与 Gateway
java·spring boot·spring·spring cloud·微服务·nacos
benchmark_cc27 分钟前
实时行情和分钟 K 线应该如何配合使用?从信号计算到交易决策的完整分析
大数据·python·数据分析·pandas·量化交易·股票数据·quantdash
用户62228840481927 分钟前
站在JDK的角度理解线程池:从execute 到 getTask 一篇讲透
java·面试
Wang's Blog28 分钟前
Java 项目实战: 交友项目 - 个人资料管理的需求分析与接口设计
java·开发语言·交友
LMT流氓兔31 分钟前
第四单元——第17课:让回答边生成、边显示
服务器·数据库·人工智能·python·oracle·langchain