Java集合之HashMap用法详解

发布时间 - 2026-01-11 01:05:47    点击率:

本文实例讲述了Java集合之HashMap用法。分享给大家供大家参考,具体如下:

HashMap是最常用的Map集合,它的键值对在存储时要根据键的哈希码来确定值放在哪里。

HashMap 中作为键的对象必须重写Object的hashCode()方法和equals()方法

import java.util.Map;
import java.util.HashMap;
public class lzwCode {
  public static void main(String [] args) {
    Map<Integer, String> map = new HashMap<Integer, String>();
    map.put(1, "Barcelona");
    map.put(2, "RealMadrid");
    map.put(3, "ManchesterUnited");
    map.put(4, "AC milan");
    map.put(5, null);
    map.put(null, null);
    //map.put(null, "Chelsea"); //可以运行键值都为空(如果键相同,后者覆盖前者)
    System.out.println(map);
    System.out.print(map.keySet()+" "); //集合中所有键以Set集合形式返回
    System.out.println();
    System.out.print(map.values()+" "); //集合中所有键以Collection集合形式返回
    System.out.println();
    System.out.println("集合大小:"+map.size());
    System.out.println("是否包含该键:"+map.containsKey(2));//返回boolean
    System.out.println("是否包含该值:"+map.containsValue("Barcelona"));//返回boolean
    System.out.println(map.isEmpty()); //不包含键-值映射关系,则返回true
    map.remove(5); //删除映射关系
    System.out.println(map);
    map.clear();//清空集合
    System.out.println(map);
  }
}

控制台结果:

HashMap的两种遍历方法

import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
public class lzwCode {
  public static void main(String [] args) {
    Map<String, Integer> map = new HashMap<String, Integer>();
    map.put("Barcelona", 1);
    map.put("RealMadrid", 2);
    map.put("ManchesterUnited", 3);
    map.put("AC milan", 4);
    map.put("Chelsea", 5);
    //第一种:(效率高)
    System.out.println("第一种方法:");
    Iterator iter = map.entrySet().iterator();
    while (iter.hasNext()) {
      Map.Entry entry = (Map.Entry)iter.next();
      Object key = entry.getKey();
      Object val = entry.getValue();
      System.out.println("键:"+key+"<==>"+"值:"+val);
    }
    //第二种:(效率低)
    System.out.println("第二种方法:");
    Iterator it = map.keySet().iterator();
    while (it.hasNext()) {
      Object key = it.next();
      Object val = map.get(key);
      System.out.println("键:"+key+"<==>"+"值:"+val);
    }
    //对于keySet只是遍历了2次,一次是转为iterator,一次就从HashMap中取出key所对于的value。
    //对于entrySet只是遍历了第一次,它把key和value都放到了entry中,所以快比keySet快些。
    System.out.println("For-Each循环输出");
    //For-Each循环
    for (Map.Entry<String, Integer> entry:map.entrySet()) {
      String key = entry.getKey().toString();
      String val = entry.getValue().toString();
      System.out.println("键:"+key+"<==>"+"值:"+val);
    }
  }
}

控制台结果:

PS:这里再为大家提供2款hash相关在线工具供大家参考使用:

在线散列/哈希算法加密工具:
http://tools./password/hash_encrypt

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools./password/hash_md5_sha

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。


# Java  # 集合  # HashMap  # Java中HashMap和TreeMap的区别深入理解  # JAVA HashMap详细介绍和示例  # Java中HashMap和Hashtable及HashSet的区别  # HashMap原理的深入理解  # Java基础篇之HashMap指定初始值  # 遍历  # 种方法  # 键值  # 加密工具  # 操作技巧  # 放在  # 相关内容  # 两种  # 感兴趣  # 数据结构  # 给大家  # 重写  # 更多关于  # 时要  # 所述  # 第二种  # 第一种  # 程序设计  # 最常用  # 快些 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 油猴 教程,油猴搜脚本为什么会网页无法显示?  如何在阿里云高效完成企业建站全流程?  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  Python文件流缓冲机制_IO性能解析【教程】  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  如何用景安虚拟主机手机版绑定域名建站?  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  Laravel如何生成API文档?(Swagger/OpenAPI教程)  如何用虚拟主机快速搭建网站?详细步骤解析  如何用狗爹虚拟主机快速搭建网站?  公司门户网站制作流程,华为官网怎么做?  javascript基本数据类型及类型检测常用方法小结  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  如何用免费手机建站系统零基础打造专业网站?  如何在服务器上配置二级域名建站?  如何基于云服务器快速搭建网站及云盘系统?  常州企业网站制作公司,全国继续教育网怎么登录?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  详解jQuery中基本的动画方法  javascript中闭包概念与用法深入理解  Python结构化数据采集_字段抽取解析【教程】  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  魔方云NAT建站如何实现端口转发?  高端建站如何打造兼具美学与转化的品牌官网?  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  焦点电影公司作品,电影焦点结局是什么?  深入理解Android中的xmlns:tools属性  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  Python文件操作最佳实践_稳定性说明【指导】  网站制作价目表怎么做,珍爱网婚介费用多少?  如何在IIS中新建站点并配置端口与物理路径?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  IOS倒计时设置UIButton标题title的抖动问题  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  如何在云主机快速搭建网站站点?  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  JS碰撞运动实现方法详解  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  Laravel怎么使用artisan命令缓存配置和视图  ,交易猫的商品怎么发布到网站上去?  JavaScript如何实现音频处理_Web Audio API如何工作?  如何自定义建站之星模板颜色并下载新样式?  如何在腾讯云服务器快速搭建个人网站?  如何在橙子建站中快速调整背景颜色?