广告
返回顶部
首页 > 资讯 > 精选 >关于hashmap的遍历问题
  • 384
分享到

关于hashmap的遍历问题

2023-06-03 08:06:18 384人浏览 泡泡鱼
摘要

听我们的支持说遍历HashMap使用entryset快些,因大部分都是用keyset遍历的,也没有去想那么多。今天研究了一下,果然差了很多。见示例,只是简单的hashmap信息。不多说了,大家把这个类在本地运行下,很容易看到结果。impor

听我们的支持说遍历HashMap使用entryset快些,因大部分都是用keyset遍历的,也没有去想那么多。今天研究了一下,果然差了很多。
见示例,只是简单的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);
}

}

对于keySet其实是遍历了2次,一次是转为iterator,一次就从hashmap中取出key所对于的value。

而entryset只是遍历了第一次,他把key和value都放到了entry中,所以就快了。


对于我们做WEB的,可能不部分都是用vo对象或是fORM封装信息,所以用到hashmap时,其内存放的都是上面的对象。因此使用entryset遍历性能会有所提高。

hashmap使用很多,比如导入信息时就要用到,因大部分导入的信息要去判断是否有重复的信息,这样就可以利用containsKey来进行处理了,而不用在插入的时候去进行处理。

[@more@]

--结束END--

本文标题: 关于hashmap的遍历问题

本文链接: https://www.lsjlt.com/news/233655.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 关于hashmap的遍历问题
    听我们的支持说遍历hashmap使用entryset快些,因大部分都是用keyset遍历的,也没有去想那么多。今天研究了一下,果然差了很多。见示例,只是简单的hashmap信息。不多说了,大家把这个类在本地运行下,很容易看到结果。impor...
    99+
    2023-06-03
  • HashMap的7种遍历方式
    目录 1.JDK 8 之前的遍历1.1 EntrySet 遍历1.2 KeySet 遍历1.3 EntrySet 迭代器遍历1.4 KeySet 迭代器遍历 2.JDK 8 之后的遍历2....
    99+
    2023-09-12
    java redis 数据库
  • Qt 关于容器的遍历迭代器的使用问题小结
    目录前言:STL风格迭代器:foreach关键字:其他:前言: Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphi...
    99+
    2022-11-13
  • 关于HashMap相同key累加value的问题
    目录HashMap相同key累加valueHashMap解决key值相同问题HashMap相同key累加value import java.util.HashMap; import ...
    99+
    2022-11-13
  • 关于vue2使用element UI中Descriptions组件的遍历问题详解
    目录需求描述:问题描述:导致原因:处理办法:以下为其他思考解决方式(不推荐)总结需求描述: 展示信息时其中部门区域是未知数量的,需要通过遍历进行展示。如下图举例,其中地址和备注是一一...
    99+
    2023-02-08
    vue结合elementui遍历数据 elementui descriptions组件 elementui组件
  • 关于Java的HashMap多线程并发问题分析
    目录并发问题的症状多线程put后可能导致get死循环多线程put的时候可能导致元素丢失put非null元素后get出来的却是nullHashMap数据结构HashMap的rehash...
    99+
    2023-05-19
    Java HashMap HashMap多线程并发
  • Java开发之HashMap的使用和遍历
    Java开发之HashMap的使用和遍历使用HashMap的一个简单例子package com.pb.collection; import java.util.HashMap; import java.util.Iterator; imp...
    99+
    2023-05-31
    java hashmap ava
  • TypeScript遍历对象属性的问题
    目录一、问题 二、解决办法1. 把对象声明as any 2. 给对象声明一个接口3. 使用泛型4. 使用keyof一、问题   比如下面的代码: type Animal = { ...
    99+
    2022-11-12
  • python关于字典及遍历的常用方法
    前言: 字典是以“键—值”对存放的无序数据集合。“键—值”对是字典的元素,访问其中的元素要以“键&...
    99+
    2022-11-11
  • 关于HashMap 并发时会引起死循环的问题解析
    今天研读Java并发容器和框架时,看到为什么要使用ConcurrentHashMap时,其中有一个原因是:线程不安全的HashMap, HashMap在并发执行put操作时会引起死循...
    99+
    2022-11-12
  • python先序遍历二叉树问题
    问题 如何遍历一个二叉树 遍历二叉树就是访问二叉树的每一个节点 二叉树父结点下先左访问,先序遍历(根左右) 例如:遍历以下的二叉树 遍历结果:ABDECF Python代码示例 # !/usr/bi...
    99+
    2022-06-04
    遍历 二叉树 python
  • 解决JDK8的ParallelStream遍历无序的问题
    JDK8的ParallelStream遍历无序 ParallelStream其实就是一个并行执行的流 它通过默认的ForkJoinPool,可能提高你的多线程任务的速度. Strea...
    99+
    2022-11-12
  • java Map接口子类HashMap遍历与LinkedHashMap的方法
    本文小编为大家详细介绍“java Map接口子类HashMap遍历与LinkedHashMap的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“java Map接口子类HashMap遍历与LinkedHashMap的...
    99+
    2023-07-02
  • 分析Java中Map的遍历性能问题
    目录一、引言二、迭代器测试三、迭代器源码探究四、其他遍历方法4.1、增强型for循环4.2、Map.forEach4.3、Stream.forEach五、总结一、引言 我们知道jav...
    99+
    2022-11-12
  • 详解JS对象遍历的顺序问题
    可能有些同学听过在 JavaScript 中遍历对象顺序不固定的这一说法。事实上,这个说法不是特别准确。 对待遍历顺序,对象有一套自己既定的规则,在此规则下呢,对象的遍历顺序会受插...
    99+
    2022-11-12
  • 浅谈HashMap中7种遍历方式的性能分析
    目录一、前言二、HashMap遍历2.1、迭代器EntrySet2.2、迭代器 KeySet2.3、ForEachEntrySet2.4、ForEach KeySet2.5、Lamb...
    99+
    2022-11-12
  • java中HashMap的7种遍历方式与性能分析
    目录1、遍历方式1.1 迭代器 EntrySet1.2 迭代器 KeySet1.3 ForEach EntrySet1.4 ForEach KeySet1.5 Lambda 表达式1...
    99+
    2022-11-12
  • mybatisforeach遍历LIST读到数据为null的问题
    目录foreach遍历LIST读到数据为null解决方案foreach 遍历list中的坑下面是正确的判断条件foreach遍历LIST读到数据为null 当我们在使用mybatis...
    99+
    2022-11-13
  • python中关于range()函数反向遍历的几种表达
    目录range()反向遍历的几种表达range()函数如何实现逆序遍历range()函数介绍range函数实现逆序遍历两种实现方式range()反向遍历的几种表达 for i in ...
    99+
    2022-11-11
  • 如何解决JDK8的ParallelStream遍历无序的问题
    这篇文章主要介绍了如何解决JDK8的ParallelStream遍历无序的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JDK8的ParallelStream遍历无序Pa...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作