- 浏览: 123895 次
- 性别:
- 来自: 地球
文章分类
最新评论
-
754731046:
很适合对初学者适用,谢谢
Oracle存储过程详解 -
天明破晓:
我测试了,不好用
Java中的正则表达式验证各种电话号码 -
OracleX:
otom31 写道从来不用标签库,几乎不用struts,除了最 ...
标签库的优点、缺点大辩论 -
otom31:
从来不用标签库,几乎不用struts,除了最早公司要使用以外; ...
标签库的优点、缺点大辩论
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.Map.Entry; import java.util.Random; public class HashMapTest { private static final String allChar = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; private static final String letterChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; // private static final String numberChar="0123456789"; public static void main(String args[]) { System.out.println("1、生成1万条随机记录遍历结果(执行10次)"); executeHashMapTest(10, 10000); System.out.println("2、生成10万条随机记录遍历结果(执行10次)"); executeHashMapTest(10, 100000); System.out.println("3、生成50万条随机记录遍历结果(执行10次)"); executeHashMapTest(10, 500000); } public static void executeHashMapTest(int executions, int count) { // for(int i=0;i<executions;i++){ // System.out.println("-----------第"+i+1+"次-------------------"); Map<String, String> map = new HashMap<String, String>(); for (int j = 0; j < count; j++) { map.put(generateRandomString(8), "HashMapTest"); } interatorHashMap(map, 1); // interatorHashMap(map,2); // interatorHashMap(map,3); // interatorHashMap(map, 4); interatorHashMap(map, 6); // } } public static void interatorHashMap(Map<String, String> map, int method) { long start = System.currentTimeMillis(); switch (method) { case 1: { /** * 当需要遍历hashmap的时候,请尽量使用entrySet,而不要用keySet,entrySet的效率要比keySet高, * 实际上使用entrySet是只需要遍历一次hash * ,即将key和value的映射关系放入到entry中,再取之;而keySet需要两次遍历hash * ,第一次取所有的key,第二次用key去取出对应的value。 */ Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); Object key = entry.getKey(); Object value = entry.getValue(); // System.out.println(key + "," + value); } } break; // case 2:{ // Iterator<String> it=map.keySet().iterator(); // while(it.hasNext()){ // Object key=it.next(); // Object value=map.get(it.next()); // } // } // break; // case 3:{ // Set<String> set = map.keySet(); // for (String s : set) { // String value=s; // } // } // break; // case 4: { // Set<Map.Entry<String, String>> entrySet = map.entrySet(); // for (Map.Entry<String, String> entry : entrySet) { // String value = entry.getKey(); // } // } // break; case 6: { Iterator<String> it = map.values().iterator(); while (it.hasNext()) { String key = it.next(); String value=map.get(key); // System.out.println(key+","+map.get(key)); } } break; } long end = System.currentTimeMillis(); System.out.println("Method " + method + ":" + (end - start) + "ms"); } public static String generateRandomString(int length) { StringBuffer sb = new StringBuffer(); Random random = new Random(); for (int i = 0; i < length; i++) { sb.append(allChar.charAt(random.nextInt(letterChar.length()))); } return sb.toString(); } }
发表评论
-
AOP的实现(JDK动态代理)
2011-11-29 16:21 1006转自:http://www.blogjava.net/D ... -
Java 枚举7常见种用法
2011-11-27 22:54 893转自:http://helloyesyes.itey ... -
一个Java程序员应该掌握的10项技能
2011-11-18 11:57 10201、语法:必须比 ... -
Java回调函数使用
2011-08-16 16:14 721正常情况下开发人员使用已经定义好的API,这个过程叫 ... -
为什么要设置Java环境变量(详解)
2011-08-17 21:40 684从大二开始接触Java,之后是断断续续的学习。大三真正开始 ... -
很长空格的String转换成Array数组
2011-08-23 14:40 1301开发中碰到了一个需求,需要把键值对字符串分隔,但键值之 ... -
不同格式的日期字符串转换
2011-08-23 14:44 957先把字符串日期转换成对应的格式,然后再转换成日期 p ... -
用序列化(Serializable)保存、读取对象
2011-08-23 15:33 873实现Serializable借口的对象可以被转换成一系列 ... -
JUint测试
2011-08-23 15:36 664ClassA.java public class Cla ... -
解决Join方法的疑惑
2011-08-23 20:57 1013很长时间对join方法感到疑惑,不明白到底是谁要阻塞,谁要继 ... -
线程学习笔记【1】----进程、线程概念及创建线程
2011-08-27 22:33 8081.进程与线程 每个进程都独享一块内存空间,一个应用程 ... -
线程学习笔记【2】---Timer(定时器)
2011-08-28 09:15 785入门 public class Time01 { ... -
线程学习笔记【3】---互斥技术
2011-08-29 15:10 755第一个示例更多的是运用了内部类的特性: 内部类重要特点:可以 ... -
线程学习笔记【4】---线程之间通信
2011-08-29 17:31 753子线程先循环10次,然后主线程循环100次,再子线程循环10次 ... -
线程学习笔记【5】--ThreadLocal应用
2011-09-05 15:31 804基本的ThreadLocal使用 public clas ... -
各种创建单例模式的优缺点
2011-09-05 21:54 831单例模式应用于一个类只有一个实例的情况,并且为其实例提供一个全 ... -
格式化简单例子
2011-11-04 16:35 822参考:http://android.blog.51cto.co ... -
图片上传源码(commons-fileupload-1.2.2)分析
2011-11-03 11:20 2063题记:文章是供自己查看方便,所以没有进行格式化,请见谅 ... -
用序列化(Serializable)保存、读取对象
2011-08-23 15:56 922实现Serializable借口的对象可以被转换成一系 ... -
IO各种流使用清晰区别
2011-08-10 11:39 848引用:http://www.iteye.com/topic/1 ...
相关推荐
### Java Map遍历方法详解 在Java编程语言中,`Map`接口是集合框架中的一个核心组成部分,它存储键值对映射。本篇文章将详细介绍几种常用的遍历`Map`的方法,包括使用传统迭代器(Iterator)、增强型for循环(For-...
### Map遍历的四种方法 在Java编程语言中,`Map`是一种常用的数据结构,用于存储键值对。为了能够有效地处理和操作这些键值对数据,熟练掌握遍历`Map`的方法至关重要。本文将详细介绍四种不同的遍历`Map`的方式,并...
Map 遍历是集合操作中的一种重要操作,一般来说,有三种方式来遍历 Map 集合:使用 values() 方法遍历、使用 keySet() 方法遍历和使用 entrySet() 方法遍历。 第一种方法:使用 values() 方法遍历 这个方法是最...
### Map遍历方法总结 #### 一、引言 在Java编程中,`Map`是一种常用的集合类型,用于存储键值对数据。由于其高效的数据查找特性,在许多场景下都有广泛的应用。对于开发者来说,了解如何有效地遍历`Map`中的元素是...
你知道map的遍历方法有几种吗? 那这几种的区别是什么呢? 那种更简单、高效呢? 我的资源文件将告诉你。
这篇博文主要探讨了如何遍历Java中的`Map`对象,下面将详细介绍几种常见的遍历`Map`的方法。 1. **迭代器法**: Java提供了`Map`接口的`entrySet()`方法,返回一个包含`Map`中所有键值对的`Set`视图。通过这个`Set...
本文将详细探讨在Java中遍历`Map`的两种常用方法:通过`keySet()`方法和通过`entrySet()`方法。 ### 一、通过`keySet()`方法遍历`Map` #### 方法概述 `keySet()`方法返回一个包含`Map`中所有键的`Set`视图。通过...
.Map集合的遍历方法 Map集合是Java中的一种常用的数据结构,用于存储键值对的数据。Map集合的遍历是指从Map集合中取出所有的键值对,并进行处理的过程。在实际开发中,Map集合的遍历是非常常见的操作。本文将介绍...
在Struts2中,Map遍历是一个常见的功能,它允许开发者动态地展示或操作存储在Map中的数据。这个功能在处理表单提交、传递参数或者在视图层展示数据时尤为有用。 首先,让我们理解Map遍历的基本概念。Map是一种键值...
本文将详细介绍四种常见的遍历`Map`的方法,并对比它们的性能差异。 #### 方法一:遍历Entry Set 这是最常见的遍历方式,在大多数情况下也是最推荐使用的。当需要同时访问键和值时,可以通过遍历`Map`的`entrySet...
### Map遍历方法详解 #### 一、引言 在Java编程中,`Map`是一种常用的集合类型,用于存储键值对数据。由于其高效的数据查找特性,在许多场景下都有广泛的应用。对于开发者来说,掌握如何有效地遍历`Map`中的元素是...
- `std::unordered_map`:遍历哈希表通常需要遍历所有桶,因此其时间复杂度也是O(n),但实际运行速度可能比`std::map`快,尤其是当元素数量很大时。 **查找操作**: - `std::map`:查找操作同样为O(log n),因为...
数据模型: @RequestMapping(/freemarker) @Controller public class FreemarkerController { //测试1 @RequestMapping(/test1) public String test1(Model model){ //向数据模型放数据 model.addAttribute(name...
总结来说,Java 8为Map遍历提供了更多现代且高效的手段,包括Lambda表达式、Stream API和`forEach()`方法,让开发者在处理Map数据结构时拥有更大的灵活性和更高的性能。这些新特性极大地提高了代码的可读性和维护性...
该资源摘自: http://www.cnblogs.com/kristain/articles/2033566.html
遍历MAP的几种方法,利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,更具灵活性
这是最基本的遍历方式,通过Map接口提供的`iterator()`方法获取迭代器,然后通过`next()`方法获取键值对。示例代码如下: ```java Map, Integer> map = new HashMap(); for (Map.Entry, Integer> entry : map....
主要提供java中的map的遍历实例及效率比较
本文将详细介绍Java中Map集合的三种遍历方法及其应用场景、优缺点等,帮助读者更好地理解和掌握Map的使用技巧。 ### 一、Map简介 `Map`接口是Java集合框架的一部分,它提供了基于键值对的数据存储方式。常见的实现...
本文将深入探讨如何在Java中使用`keySet`方法来遍历`Map`集合,以及相关的知识点。 ### 一、Java Map接口简介 `Map`接口是Java集合框架的一部分,它提供了存储和检索唯一键对象及其对应的值对象的方法。一个`Map`...