`
esperanza
  • 浏览: 183407 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

map遍历的效能

 
阅读更多
项目中使用了Findbug来进行代码的检查,有个针对map遍历的提示。我的代码如下:
String temp = null;
Iterator<String> ite = param.keySet().iterator();
   while(ite.hasNext()){
     temp = ite.next();
     sb.append(temp);
     sb.append(param.get(temp).toString());
}
说是效能上不咋地。建议用如下方法:
Entry<String, String> temp = null;
Iterator<Entry<String, String>> ite = param.entrySet().iterator();
    while(ite.hasNext()){
       temp = ite.next();
       sb.append(temp.getKey());
       sb.append(temp.getValue());
}
从代码上理解,第一种方式获取key之后,要从HASHMAP中通过HASH函数定位到value值。而第二种方式,没有这种定位的消耗了,性能也有一定的提升。
分享到:
评论

相关推荐

    qt c++ 实现高效率的统计字数

    在本文中,我们将深入探讨如何使用Qt C++框架来实现一个高效能的字数统计程序。这个程序能够快速地处理大量的文本数据,如1000多万字,并在十几秒内完成统计工作。对于初学者来说,理解并掌握这个过程将有助于提升在...

    基于Python+ffmpeg实现的视频与文件处理工具源码,可批量对视频进行改名,倍速,提取音频等操作

    在本文中,我们将深入探讨这个工具涉及的技术点,包括Python编程基础、ffmpeg命令行工具的使用,以及如何将两者结合以实现高效能的文件处理。 首先,Python是一种广泛应用于各种领域的高级编程语言,以其简洁的语法...

    软件设计师专题12JAVA程序设计语言

    HashMap和TreeMap实现了Map接口,分别提供快速查找和有序遍历。 五、泛型 泛型是Java 5引入的新特性,用于在类、接口和方法中指定参数类型,增强了类型安全,减少了强制类型转换。例如,ArrayList可以声明为`...

    Data Structures and Algorithm Analysis第四版第1章答案

    6. **C++编程基础**:作为标签,这暗示了本章的解答可能涉及到C++编程,包括类、对象、指针、引用等面向对象编程的概念,以及模板、STL容器(如vector、list、set、map)的使用。 7. **控制台项目**:控制台项目...

    java基础总结

    Java集合框架是存储和管理对象的工具,包括List、Set和Map接口,以及ArrayList、LinkedList、HashSet、HashMap等具体实现。集合框架允许我们高效地处理数据,提供了丰富的操作和算法,如遍历、排序、过滤等。 最后...

    案例29 kohonen网络的聚类算法—网络入侵聚类.zip

    Kohonen自组织映射网络(Self-Organizing Map, SOM),也被称为Kohonen网络,是一种无监督学习的神经网络模型,常用于数据的可视化和聚类分析。在这个案例中,我们将深入探讨Kohonen网络如何应用于网络入侵检测,...

    VC++ STL模板 doc文档

    在VC++环境中,STL被广泛应用于开发高效能的应用程序,因为它能帮助程序员以简洁的方式实现复杂的操作。这份"VC++ STL模板 doc文档"很可能是微软Visual C++编译器对STL模板类的详细解释和使用指南。 STL的核心组件...

    Python字典的核心底层原理讲解

    ### Python字典的核心底层原理详解 #### 一、引言 Python字典是一种非常重要的数据结构,它提供了基于键值对的数据存储...理解这些底层原理有助于开发者更好地利用字典这一强大的工具,在编程实践中发挥其最大效能。

    web 网站爬虫系统 基于 Hadoop.zip

    【描述】:“人工智能-hadoop”指的是将Hadoop技术应用于人工智能领域,通过大数据处理能力提升AI系统的效能。在本项目中,Hadoop作为核心组件,用于解决数据抓取、存储和分析中的挑战。 【标签】:“人工智能”...

    visual c++ 2010 第一章源程序

    Visual C++ 2010 是微软公司推出的高效能、面向对象的编程环境,主要用于Windows平台的应用程序开发。第一章通常会涵盖C++的基础知识,包括编程环境的设置、语言基础、编译与调试过程等。下面将对这些知识点进行详细...

    ck-9_stls

    3. **迭代器**:STL的主要访问方式,允许像遍历数组一样遍历容器。 4. **算法**:包括排序、查找、数学运算等,如sort、find、transform等。 5. **函数对象(Functors)**:作为函数的类,可以封装操作并在算法中...

    wmf-api

    在Kotlin中,API的设计往往遵循函数式编程的思路,因此,我们可能会看到许多高阶函数,如`map`、`filter`和`reduce`,用于处理图形对象的集合。此外,Kotlin的类型系统和扩展函数特性可能会被用来增强API的易用性和...

    meteor-preludels:为meteor 打包的Prelude.ls

    "meteor-preludels"库不仅强大,而且极其灵活,它旨在简化 Meteor 应用中的常见任务,如数据处理、遍历、条件判断等。库中的函数都经过精心设计,旨在与Meteor的事件驱动和数据流模型无缝对接,帮助开发者编写出更加...

    PokEvaluator:评估 Pokemon 的类型属性

    3. 战队构建建议:通过分析多个神奇宝贝的属性组合,PokEvaluator 提供了战队构建建议,以实现属性互补,提高整体战斗效能。 三、Java 开发技术应用 1. 数据结构与算法:PokEvaluator 使用合适的数据结构(如 Map ...

    caesar_code:只是尝试React Native

    在当今移动应用开发领域,React Native以其跨平台、高效能的优势,成为许多开发者首选的框架之一。本文将以“Caesar Code”项目为例,深入探讨如何利用React Native构建一个简单的移动应用程序,实现Caesar密码的...

Global site tag (gtag.js) - Google Analytics