HashMap用法 示例

2023-10-31

/*

程序开始创建了一个散列映射,然后将名字的映射增加到平衡表。接下来,映射的内容通过使用由调用函数entrySet()而获得的集合“视图”而显示出来。关键字和值通过调用由Map.Entry定义的getKey()和getValue()方法而显示。注意存款是如何被制成Evan的账目的。put()方法自动用新值替换与指定关键字相关联的原先值。

*/

import java.util.*;
class HaspMapDemo{
 public static void main(String[] args)
 {
  //Create a hasp map
  HashMap   hm=new   HashMap();
  //Put elements to the map
  hm.put("Evan",new Double(12345.77));
  hm.put("Rose",new Double(78777));
  hm.put("Magic",new Double(-99.10));
  hm.put("Mike",new Double(100.00));
  hm.put("Sue",new Double(17.15));
  //Get a set of the entries
  Set set = hm.entrySet();
  //Get an iterator
  Iterator itr = set.iterator();
  //Display elements
  while (itr.hasNext()){
   Map.Entry me = (Map.Entry)itr.next();
   System.out.println(me.getKey() + ": ");
   System.out.println(me.getValue());
  }
  System.out.println();
  //Deposit 1000 into Evan's account
  double balance = ((Double)hm.get("Evan")).doubleValue();
  hm.put("Evan",new Double(balance + 1000));
  System.out.println("Evan's new balance : " + hm.get("Evan"));
 }
}

TreeMap用法 示例

/*

TreeMap类通过使用树来实现Map接口.TreeMap提供了按排序顺序存储关键字/值对的有效手段,同时允许快速检索。不像散列映射,树映射保证它的元素按照关键字升序排序。

*/

import java.util.*;
class TreeMapDemo{
 public static void main(String[] args)
 {
  //Creat a tree map
  TreeMap tm = new TreeMap();

  //Put elements to the map
  tm.put("Evan",new Double(12345.77));
  tm.put("Rose",new Double(78777));
  tm.put("Magic",new Double(-99.10));
  tm.put("Mike",new Double(100.00));
  tm.put("Sue",new Double(17.15));

  //Get a set of entries
  Set set = tm.entrySet();

  //Get an iterator
  Iterator i = set.iterator();

  //Display elements
  while(i.hasNext()){
   Map.Entry me = (Map.Entry)i.next();
   System.out.println(me.getKey() + ": ");
   System.out.println(me.getValue());
  }
  System.out.println();

  //Deposit 1000 into Evan's account
  double balance = ((Double)tm.get("Evan")).doubleValue();
  tm.put("Evan",new Double(balance + 1000));
  System.out.println("Evan's new balance : " + tm.get("Evan"));
 }
}

最近再写一段很恶心的系统代码,上网搜索资料时,偶然见看到这篇文章不错,给了我很多的启发。先收藏一下,作为以后开发备用资料。希望看到的朋友也能多多学习学习!

发现HashMap 用到下面的格式 ,直接循环遍历整个hashMap  hashTable

返回的 set 中的每个元素都是一个 Map.Entry 类型。

private Hashtable<String, String> emails = new Hashtable<String, String>();

//      方法一: 用entrySet()
//  Iterator it = emails.entrySet().iterator();
//  while(it.hasNext()){
//   Map.Entry m=(Map.Entry)it.next();
//   logger.info("email-" + m.getKey() + ":" + m.getValue());
//  }
  
  // 方法二:直接再循环中
  for (Map.Entry<String, String> m : emails.entrySet()) {
   
   logger.info("email-" + m.getKey() + ":" + m.getValue());
  }
  
  // 方法三:用keySet()
  Iterator it = emails.keySet().iterator();
  while (it.hasNext()){
   String key;
   key=(String)it.next();
   logger.info("email-" + key + ":" + emails.get(key));
  }

 

另外 我们可以先把hashMap 转为集合Collection,再迭代输出,不过得到的对象

  Map   aa   =   new   HashMap();  
  aa.put("tmp1",   new   Object());     //追加     替换用同样的函数.  
  aa.remove("temp1");                       //删除  
  for   (Iterator   i   =   aa.values().iterator();   i.hasNext();   )   {  
          Object   temp   =   i.next();  
  }         //遍历  

hashmap遍历实例

 

import java.util.HashMap;
import java.util.Iterator;
import java.util.Calendar;

public class HashMapTest {

 public static void main(String[] args) {
  HashMap hashmap = new HashMap();
  for (int i = 0; i < 1000; i++) {
   hashmap.put("" + i, "hello");
  }

  long bs = Calendar.getInstance().getTimeInMillis();
  Iterator iterator = hashmap.keySet().iterator();
  // String value = "";
  while (iterator.hasNext()) {
   // value = hashmap.get(iterator.next());
   System.out.println(hashmap.get(iterator.next()));
  }
  System.out.println(Calendar.getInstance().getTimeInMillis() - bs);
  listHashMap();
 }

 public static void listHashMap() {
  java.util.HashMap hashmap = new java.util.HashMap();
  for (int i = 0; i < 1000; i++) {
   hashmap.put("" + i, "hello");
  }
  long bs = Calendar.getInstance().getTimeInMillis();
  // Set set = hashmap.entrySet() ;
  java.util.Iterator it = hashmap.entrySet().iterator();
  while (it.hasNext()) {
   java.util.Map.Entry entry = (java.util.Map.Entry) it.next();
   // entry.getKey() 返回与此项对应的键
   // entry.getValue() 返回与此项对应的值
   System.out.println(entry.getValue());
  }
  System.out.println(Calendar.getInstance().getTimeInMillis() - bs);
 }

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HashMap用法 示例 的相关文章

随机推荐

  • 解决g2o无法编译出g2o_viewer的问题

    如果你的ubuntu系统版本较高 例如Ubuntu20 04 可能在利用原始的g2o进行编译时会提示找不到 Could NOT find QGLVIEWER missing QGLVIEWER LIBRARY 解决方法1 安装必要的库 su
  • can't locate node [xxxx] in package [yyyy]

    在运行范例的launch文件时 提示 ERROR cannot launch node of type chapter2 tutorials example2 a can t locate node example2 a in packag
  • 一、为什么从IDEA打开的JavaFx scene builder,imageView没有响应呢?

    问题描述 不知道大家有没有出现和我一样的问题 就是当用idea打开JavaFx scene builder时呢 imageView是无法正常使用的 解决方法 在JavaFx scene builder中新建一个页面 完成界面设置后保存即可
  • 部分交换主元的高斯消去法

    伪代码 pseudocode 程序 function Gauss a b tol if nargin 2 tol 1e 4 end n size a 1 dimention s zeros n 1 initialize save maxim
  • NBA球员能力雷达图matplotlib,pandas

    name BaseData 球员 score BaseData 得分 assist BaseData 助攻 rebound BaseData 篮板 steal BaseData 抢断 block BaseData 盖帽 num BaseDa
  • 【registry】registry 0.9 源码 在 windows下运行

    1 概述 我在本地mac环境运行了registry源码 然后想在winodws也正常运行 于是将mac下能用的源码拷贝到了windows下 结果一堆报错 基本上全是pom问题 此处我用了2天才搞定了下面是pom整理好的拍照 慎重呀 不要轻易
  • 【图像处理】基于收缩系数的粒子群优化和引力搜索算法的多级图像阈值研究【CPSOGSA】(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文献 1 概述 文献来源 图像分割 IS 是图像处理和计
  • 前端学习——HTML5

    新增语义化标签 新增布局标签
  • C++之对象包含与成员函数不兼容的类型限定符---补充(5)《Effective C++》

    C 值对象那个包含与成员函数不兼容的类型限定符 在上篇博客中 运行代码时候 由于没有对show函数添加const 结果突然报了一个错误 对象包含与成员函数不兼容的类型限定符 所以本篇博客进行一个快速补充 在解释这个问题之前 我们先来看看如下
  • HCM SaaS市场百舸争流,肯耐珂萨为何能立于潮头?

    科技树总在飞快生长 叠加上后疫情这个宏大的时代背景 无论是从大的千行百业 抑或是具体的企业各个业务环节的角度来看 一场声势浩大的数字化浪潮正奔涌而来 浩浩汤汤 焦距拉长 基于企业这个微观视角 相对于其他业务环节 人力资源管理的重要性越发凸显
  • jquery 中 change input 事件失效

    今天工作的时候 遇到了用jquery选择 input输入框 监听input中的内容变化 然后将input中的内容获取到 赋值给另一个input输入框 这种逻辑本来很简单的 代码如下 showProductInfo append tr td
  • Tomcat内存优化4.1 内存泄漏——内存分析工具 MAT 的使用

    在eclipse安装 使用MAT插件 简介 Eclipse提供的一个内存分析工具 它是一个功能丰富的 JAVA 堆转储文件分析工具 可以帮助你发现内存漏洞和减少内存消耗 官网地址 Eclipse Memory Analyzer Open S
  • 从零搭建完整python自动化测试框架(UI自动化和接口自动化 )——持续更新

    本自动化测试框架采用python unittest 的基础来搭建 采用PO模式 数据驱动的思想 通过selenium来实现WEB UI自动化 通过request来实现接口自动化 移动终端的自动化也可在该框架基础上去构建补充 目录 总体框架
  • 线扫相机——机器视觉中无限制物体的检测(重要转载)

    在机器视觉中 在检测连续物体或者滚动物体时 线扫相机是最佳的解决方案 通常 它们能提供很高的分辨率 因为它们要求很高的速度和数据率 一 多条窄带拼成一副图像 线扫相机只抓取一行作为图像发送到电脑 主机电脑将所有的行进行组织拼接 如果不停止抓
  • C++四大特性——多态 的总结

    我们都知道 C语言和C 的区别就是 C语言是面对过程的程序设计 而C 是面对对象的程序设计 面对对象的程序设计有4大特性 分别是 抽象 封装 继承 多态 今天我们就来总结一下多态的内容 多态 分为静态多态和动态多态 静态多态 编译器在编译期
  • 统计学知识:相关系数

    公众号 尤而小屋作者 Peter编辑 Peter 大家好 我是Peter 这两周在看一本书 特征工程入门与实践 对自己很有启发 特征工程是数据工作者建模过程中极其重要的一步 如何从众多的特征中找到或者选择与目标具有高强相关的特征显得尤为重要
  • 电脑提示concrt140.dll丢失的怎么解决

    电脑提示concrt140 dll丢失 会导致很多软件跟游戏无法打开运行 concrt140 dll是Windows系统中重要组件 小编今天就把concrt140 dll丢失的解决方法分享给大家 修复方法如下 首先是打开电脑的浏览器后在顶部
  • 狂神说Elastic search学习笔记

    狂神Elastic search笔记 简介 安装 es安装 安装可视化界面 下载kibana es核心概念理解 分片 倒排索引 ik分词器插件 安装 rest风格操作 关于文档的基本操作 重点 添加数据 获取数据 更新数据 如果参数少了会置
  • Modbus CRC16算法

    Modbus CRC16算法 直接运算 unsigned short modbus crc16 unsigned char pdata unsigned short len unsigned short i j crc crc 0xFFFF
  • HashMap用法 示例

    程序开始创建了一个散列映射 然后将名字的映射增加到平衡表 接下来 映射的内容通过使用由调用函数entrySet 而获得的集合 视图 而显示出来 关键字和值通过调用由Map Entry定义的getKey 和getValue 方法而显示 注意存