Java HashMap

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

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

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

4.HashMap 继承于AbstractMap,实现了 Map、Cloneable java.io.Serializable 接口。
在这里插入图片描述
5.HashMap 的 key 与 value 类型可以相同也可以不同,可以是字符串(String)类型的 key 和 value,也可以是整型(Integer)的 key 和字符串(String)类型的 value。

KValue
及时雨 (String)宋江 (String)
10086 (Integer)中国移动 (String)
 public static void main(String[] args) {
        HashMap<String,String> map = new HashMap<>();
        map.put("及时雨","宋江");
        System.out.println(map.get("及时雨"));
        HashMap<Integer,String> map1 = new HashMap<>();
        map1.put(10086,"中国移动");
        System.out.println(map1.get(10086));
}

//拿到K值就有一个唯一对应的value值
宋江
中国移动

HashMap 中的元素实际上是对象,一些常见的基本类型可以使用它的包装类。
基本类型对应的包装类表如下:
在这里插入图片描述
HashMap 类位于 java.util 包中,使用前需要引入它,语法格式如下:

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

以下实例我们创建一个 HashMap 对象 map, 整型(Integer)的 key 和字符串(String)类型的 value:

HashMap<Integer, String>  map  = new HashMap<Integer, String>();

添加元素
HashMap 类提供了很多有用的方法,添加键值对(key-value)可以使用 put() 方法:

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

public class RunoobTest {
    public static void main(String[] args) {
        // 创建 HashMap 对象 map
        HashMap<Integer, String> map = new HashMap<Integer, String>();
        // 添加键值对
        map.put(1, "Hello");
        map.put(2, "java");
        map.put(3, "ok");
        map.put(4, "中国");
        System.out.println(map);
    }
}

运行结果:
{1=Hello, 2=java, 3=ok, 4=中国}

访问元素
我们可以使用 get(key) 方法来获取 key 对应的 value:

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

public class RunoobTest {
    public static void main(String[] args) {
        // 创建 HashMap 对象 map
        HashMap<Integer, String> map = new HashMap<Integer, String>();
        // 添加键值对
        map.put(1, "Hello");
        map.put(2, "java");
        map.put(3, "ok");
        map.put(4, "中国");
        System.out.println(map.get(3));
    }
}

运行结果:
ok

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

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

public class RunoobTest {
    public static void main(String[] args) {
        // 创建 HashMap 对象 map
        HashMap<Integer, String> map = new HashMap<Integer, String>();
        // 添加键值对
        map.put(1, "Hello");
        map.put(2, "java");
        map.put(3, "ok");
        map.put(4, "中国");
        map.remove(4);
        System.out.println(map);
    }
}

运行结果:
{1=Hello, 2=java, 3=ok}

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

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

public class RunoobTest {
    public static void main(String[] args) {
        // 创建 HashMap 对象 map
        HashMap<Integer, String> map = new HashMap<Integer, String>();
        // 添加键值对
        map.put(1, "Hello");
        map.put(2, "java");
        map.put(3, "ok");
        map.put(4, "中国");
        map.clear();
        System.out.println(map);
    }
}

运行结果:
{}

迭代 HashMap
可以使用 for-each 来迭代 HashMap 中的元素。
如果你只想获取 key,可以使用 keySet() 方法,如果你只想获取 value,可以使用 values() 方法。

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

public class RunoobTest {
    public static void main(String[] args) {
        // 创建 HashMap 对象 map
        HashMap<Integer, String> map = new HashMap<Integer, String>();
        // 添加键值对
        map.put(1, "Hello");
        map.put(2, "java");
        map.put(3, "ok");
        map.put(4, "中国");
        // 输出 key 和 value
        for (Integer i : map.keySet()) {
            System.out.println("key: " + i + " value: " + map.get(i));
        }
    }
}

运行结果:
key: 1 value: Hello
key: 2 value: java
key: 3 value: ok
key: 4 value: 中国

Java HashMap 方法
Java HashMap 常用方法列表如下:
在这里插入图片描述
在这里插入图片描述
更多 API 方法可以查看:此链接

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值