首页 > 编程语言 >Java集合—HashMap

Java集合—HashMap

时间:2023-11-14 22:31:49浏览次数:35  
标签:Java HashMap Sites value put 键值 key 集合

HashMap简介

HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。

HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。

HashMap 是无序的,即不会记录插入的顺序。

HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。

HashMap 的 key 与 value 类型可以相同也可以不同,可以是字符串(String)类型的 key 和 value,也可以是整型(Integer)的 key 和字符串(String)类型的 value。

Java集合—HashMap_键值对



添加元素

添加键值对(key-value)可以使用 put() 方法:

// 引入 HashMap 类      
import java.util.HashMap;

public class RunoobTest {
    public static void main(String[] args) {
        
        // 创建 HashMap 对象 Sites
        HashMap<Integer, String> Sites = new HashMap<Integer, String>();

        // 添加键值对
        Sites.put(1, "Google");
        Sites.put(2, "Runoob");
        Sites.put(3, "Taobao");
        Sites.put(4, "Zhihu");

        System.out.println(Sites);

    }
}


删除元素

我们可以使用 remove(key) 方法来删除 key 对应的键值对(key-value):

// 引入 HashMap 类      
import java.util.HashMap;

public class RunoobTest {
    public static void main(String[] args) {
        // 创建 HashMap 对象 Sites
        HashMap<Integer, String> Sites = new HashMap<Integer, String>();
        // 添加键值对
        Sites.put(1, "Google");
        Sites.put(2, "Runoob");
        Sites.put(3, "Taobao");
        Sites.put(4, "Zhihu");
        Sites.remove(4);
        System.out.println(Sites);
    }
}

执行以上代码,输出结果如下:

{1=Google, 2=Runoob, 3=Taobao}

删除所有键值对(key-value)可以使用 clear 方法:

迭代 HashMap

可以使用 for-each 来迭代 HashMap 中的元素。

如果你只想获取 key,可以使用 keySet() 方法,然后可以通过 get(key) 获取对应的 value,如果你只想获取 value,可以使用 values() 方法。

// 引入 HashMap 类      
import java.util.HashMap;

public class RunoobTest {
    public static void main(String[] args) {
        // 创建 HashMap 对象 Sites
        HashMap<Integer, String> Sites = new HashMap<Integer, String>();
        // 添加键值对
        Sites.put(1, "Google");
        Sites.put(2, "Runoob");
        Sites.put(3, "Taobao");
        Sites.put(4, "Zhihu");
        // 输出 key 和 value
        for (Integer i : Sites.keySet()) {
            System.out.println("key: " + i + " value: " + Sites.get(i));
        }
        // 返回所有 value 值
        for(String value: Sites.values()) {
          // 输出每一个value
          System.out.print(value + ", ");
        }
    }
}

执行以上代码,输出结果如下:

key: 1 value: Google
key: 2 value: Runoob
key: 3 value: Taobao
key: 4 value: Zhihu
Google, Runoob, Taobao, Zhihu,






标签:Java,HashMap,Sites,value,put,键值,key,集合
From: https://blog.51cto.com/u_15520037/8379786

相关文章

  • java 面向对象进阶 static
    1.工具类packagenet.elaina.a02staticdemo2;publicclassArrayUtil{//私有化构造方法//目的:为了不让外界创建他的对象privateArrayUtil(){}//需要定义为静态的,方便调用publicstaticStringprintArr(int[]arr){StringB......
  • JavaScript知识点
    JavaScript中的虚值constfalsyValues=["",0,null,undefined,NaN,false];简单的来说虚值就是是在转换为布尔值时变为false的值。如何检查值是否虚值使用Boolean函数或者!!运算符。usestrict"usestrict”是ES5特性,它使我们的代码在函数或整个脚本中处于严格模式。严格模式帮助......
  • 一个常见的 JavaScript 解构陷阱
    在日常的JavaScript编码中,我们经常使用解构语法来提取对象中的属性。假设我们有一个名为fetchResult的对象,代表从接口返回的数据,其中包含一个字段名为data。constfetchResult={data:null};在提取data字段时,为了避免接口未返回该字段而导致的问题,我们常常会使用......
  • JavaDoc生成文档(也就是文档注释)
    一、JavaDoc1.javadoc命令是用来生成自己API文档的2.参数信息@author作者名@version版本号@since指明需要最早使用的jdk版本@param参数名@return返回值情况@throws异常抛出情况 ......
  • java 使用documents4j将word转pdf
    documents4j简介document4j是一个用来进行文档格式转换的Java工具库,它通过借助本机中支持指定文件格式到目标文件格式转换的应用,来实现整个转换的过程。document4j实现了MicrosoftWord、Excel的适配功能,可以将docx文件转换为pdf文件,并且在这个过程中不会出现非微软文件转换出......
  • Java登陆第六天——SQL之约束
    约束约束用于确保数据库的数据满足特定的规则,多个约束可以作用于一个字段上。在mysql中,约束一般有:primarykey(主键)notnull(非空)unique(唯一)primarykey(主键)主键是唯一标识每一行的列(行也叫字段)。主键拥有以下特性:两种指定方式:创建表时指定:字段名字段类型pr......
  • Java -- Stream流用法
    1.前言流是Java8API添加的一个新的抽象,称为流Stream,以一种声明性方式处理数据集合,侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式。Stream流是从支持数据处理操作的源生成的元素序列,源可以是数组、文件、集合、函数。流不是集合元素,它不是数据结构并不保存数据......
  • JavaWeb--Servlet执行流程&生命周期
    Servlet的执行流程 Servlet生命周期 1、初始化使用了init()方法,只调用一次。2、提供服务使用service()方法(1)、调用时机:servlet被访问时,调用该方法(2)、调用次数:每一次servlet被访问就调用一次 3、服务中止时使用destory()方法,servlet对象被销毁调用时机:内存释放或者服务关闭的......
  • JavaScript知识点
    JavaScript提供的异步模式1、回调函数(callbacks)2、事件监听3、Promise对象call、apply的区别call和apply都是改变this指向的方法,区别在于call可以写多个参数,而apply只能写两个参数,第二个参数是一个数组,用于存放要传的参数。call和apply的好处用call和apply实现更好的继承和扩展,更......
  • 2023年最新!Java17于win10环境下的安装配置
    2023年最新!Java17于win10环境下的安装配置链接分享:oracle官网,Java17.exe,java17.zip导航目录2023年最新!Java17于win10环境下的安装配置导航一、下载Java17二、安装Java三、配置Java环境变量四、检验一、下载Java17这里使用Java17.exe程序为例,首先我们可以根据上面我给出的链......