HashMap的基本方法

本文详细介绍了HashMap的基本操作,包括通过put方法添加键值对、get方法获取值、remove方法删除键值对以及使用entrySet遍历HashMap。在添加时,相同key的值会被最后一个覆盖。遍历HashMap时,使用Map.Entry可以获取所有键值对。此外,还展示了清空HashMap的方法clear()。
摘要由CSDN通过智能技术生成

HashMap的基本方法

1.HashMap的基本方法有
添加Key-Value
通过HashMap.put(key,value);方法添加

   @Test
    public void HashMapDemo() {
        Map<String, String> hashMap = new HashMap<String, String>();
        // 通过put方法添加键值对
       hashMap.put("google","google");
       hashMap.put("baidu","baidu");
       hashMap.put("baidu","baidu1");
       hashMap.put("baidu","baidu2");
}

上面通过put方法添加了一个google,和三个baidu,但这里有隐藏的问题.请往下看(高手就不要浪费时间了)

接下来通过get方法获取刚刚储存的键值对.
通过key获取Value
HashMap.get(key);

 		// 用get方法通过key获取vlaue
        System.out.println(hashMap.get("google"));
        System.out.println(hashMap.get("baidu"));

运行结果可以看到,输出的baidu并不是我们put进去的三个结果,而只有一个baidu2,就是我们最后一次put进去的key,value
这涉及到了HashMap的键值重复问题.此处不做深论(主要是我也不知道,狗头)
基本可以理解成重写相同的key

删除方法
HashMap.remove();

		// 删除方法
        hashMap.remove("baidu");

清空整个HashMap方法

		// 清空整个hashMap
        hashMap.clear();

遍历HashMap
想要遍历这个HashMap其实我知道的有3种方法.我们只说一种常用的,通常来说常用的写法简单但是性能没有其余两种高.差距大约在2倍左右(万条数据操作时间上的差距),不过都是ms级别的.
HashMap.Entry<Object,Object> 获取HashMap的全部Key-Value,返回一个Set集合代码如下:

		hashMap.put("sougou", "sougou");
        hashMap.put("zhihu", "sougou");
        hashMap.put("QQ", "QQ");
        hashMap.put("QQ", "QQ111");
        // 获取到的hashMap数据存放到Set集合中
        Set<Map.Entry<String, String>> entrySet = hashMap.entrySet();
        // 遍历Set集合
        for (Map.Entry<String, String> e : entrySet) {
            System.out.println(e.getKey()+"/t"+e.getValue());
        }

需要说明的是

Map.Entry<Object,Object>

Entry是Map的内部类,不知道内部类的去简单了解下叭~
遍历方法运行结果如下:

运行结果
以下是本文章中全部代码:

package com.example.hashmapdemo.test;


import org.junit.Test;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class HashMapTestDemo {

    @Test
    public void HashMapDemo() {
        Map<String, String> hashMap = new HashMap<String, String>();
        // 通过put方法添加一个键值对
        hashMap.put("google", "google");
        hashMap.put("baidu", "baidu");
        hashMap.put("baidu", "baidu1");
        hashMap.put("baidu", "baidu2");

        // 用get方法通过key获取vlaue
        System.out.println(hashMap.get("google"));
        System.out.println(hashMap.get("baidu"));

        // 删除方法
        hashMap.remove("baidu");

        // 清空整个hashMap
//        hashMap.clear();

        hashMap.put("sougou", "sougou");
        hashMap.put("zhihu", "sougou");
        hashMap.put("QQ", "QQ");
        hashMap.put("QQ", "QQ111");
        // 获取到的hashMap数据存放到Set集合中
        Set<Map.Entry<String, String>> entrySet = hashMap.entrySet();
        // 遍历Set集合
        for (Map.Entry<String, String> e : entrySet) {
            System.out.println(e.getKey()+"/t"+e.getValue());
        }


    }


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值