- 浏览: 502205 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (449)
- java细节 (186)
- javascript (6)
- tomcat (2)
- java基础 (17)
- extjs (1)
- java 开源 (17)
- java-bug (5)
- 电脑软件 (16)
- oracle-dba (8)
- oracle (6)
- java 精神 (17)
- SSH (6)
- 常用开源 (29)
- Mysql (22)
- 电脑学习 (8)
- jsp (12)
- html5 (6)
- hadoop (3)
- webos (2)
- web前端开发 (7)
- java实践 (2)
- 其它 (19)
- python (4)
- c++ (1)
- linux (2)
- css3+h5 (9)
- bootstrap (12)
- ps (1)
- vue (5)
- android (3)
最新评论
-
springdata_springmvc:
java inputstream demo教程源代码下载:ht ...
文件的读写 -- java FileInputStream -
hukaimiao:
[/c佛挡[size=x-small][color=darkr ...
文件的读写 -- java FileInputStream -
wwm4851186:
可惜这是中国
10大技能 让你坐享10万美元薪酬 -
zhubo357087527:
楼主,这样写可以吗?用“Process proc = Runt ...
在java中如何调用linux的ctrl+c指令?
话不多说,看结果 10万条数据,两种方法基本上差不多
单位毫秒
录入时间为:2226
查找时间为:22
-----
录入时间为432
查找时间为:13
import java.util.*;
public class MapTest2 {
public static void main(String ags[]) {
test2();
System.out.println("-----");
test1();
}
public static void test1() {
Map m = new HashMap(100000);
long t0 = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
m.put("aa.bb.to.pub." + i + "12345asfsdfVO", "value");
}
long t1 = System.currentTimeMillis();
System.out.println(t1 - t0);
//随机取出1000个数字
for (int i = 0; i < 10000; i++) {
int j = new Random(10000).nextInt();
m.get("aa.bb.to.pub." + j + "12345asfsdfVO");
}
long t2 = System.currentTimeMillis();
System.out.println(t2 - t1);
}
public static void test2() {
Map m = new HashMap(10);
m.put("aa.bb.ao", new HashMap(10000));
m.put("aa.bb.bo", new HashMap(10000));
m.put("aa.bb.co", new HashMap(10000));
m.put("aa.bb.do", new HashMap(10000));
m.put("aa.bb.eo", new HashMap(10000));
m.put("aa.bb.fo", new HashMap(10000));
m.put("aa.bb.go", new HashMap(10000));
m.put("aa.bb.ho", new HashMap(10000));
m.put("aa.bb.io", new HashMap(10000));
m.put("aa.bb.jo", new HashMap(10000));
long t0 = System.currentTimeMillis();
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10000; j++){
// 每个模块里有1000个
((Map) m.get("aa.bb.ao")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.bo")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.co")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.do")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.eo")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.fo")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.go")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.ho")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.io")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.jo")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
}
}
long t1 = System.currentTimeMillis();
System.out.println("录入时间为:" + (t1 - t0));;
// System.out.println(m.get("8888key"));
for (int i = 1; i < 10000; i++) {
int j = new Random(10000).nextInt();
((Map) m.get("aa.bb.ao")).get("aa.bb.to.pub." + j+ "12345asfsdfVO");
}
long t2 = System.currentTimeMillis();
System.out.println("查找时间为:" + (t2 - t1));
}
}
单位毫秒
录入时间为:2226
查找时间为:22
-----
录入时间为432
查找时间为:13
import java.util.*;
public class MapTest2 {
public static void main(String ags[]) {
test2();
System.out.println("-----");
test1();
}
public static void test1() {
Map m = new HashMap(100000);
long t0 = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
m.put("aa.bb.to.pub." + i + "12345asfsdfVO", "value");
}
long t1 = System.currentTimeMillis();
System.out.println(t1 - t0);
//随机取出1000个数字
for (int i = 0; i < 10000; i++) {
int j = new Random(10000).nextInt();
m.get("aa.bb.to.pub." + j + "12345asfsdfVO");
}
long t2 = System.currentTimeMillis();
System.out.println(t2 - t1);
}
public static void test2() {
Map m = new HashMap(10);
m.put("aa.bb.ao", new HashMap(10000));
m.put("aa.bb.bo", new HashMap(10000));
m.put("aa.bb.co", new HashMap(10000));
m.put("aa.bb.do", new HashMap(10000));
m.put("aa.bb.eo", new HashMap(10000));
m.put("aa.bb.fo", new HashMap(10000));
m.put("aa.bb.go", new HashMap(10000));
m.put("aa.bb.ho", new HashMap(10000));
m.put("aa.bb.io", new HashMap(10000));
m.put("aa.bb.jo", new HashMap(10000));
long t0 = System.currentTimeMillis();
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10000; j++){
// 每个模块里有1000个
((Map) m.get("aa.bb.ao")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.bo")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.co")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.do")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.eo")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.fo")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.go")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.ho")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.io")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
((Map) m.get("aa.bb.jo")).put("aa.bb.to.pub." + j+ "12345asfsdfVO", "value");
}
}
long t1 = System.currentTimeMillis();
System.out.println("录入时间为:" + (t1 - t0));;
// System.out.println(m.get("8888key"));
for (int i = 1; i < 10000; i++) {
int j = new Random(10000).nextInt();
((Map) m.get("aa.bb.ao")).get("aa.bb.to.pub." + j+ "12345asfsdfVO");
}
long t2 = System.currentTimeMillis();
System.out.println("查找时间为:" + (t2 - t1));
}
}
发表评论
-
idea 设置自动编译
2023-06-13 09:39 485https://www.cnblogs.com/bxzmd/p ... -
eclipse 下载的地方
2023-05-31 00:43 250参考 https://baijiahao.baidu.com/ ... -
eclipse导入 idea
2023-03-19 21:27 315转: https://blog.csdn.net/qq_526 ... -
@DataSource切换数据库失效
2022-08-08 11:31 824在实现类中 再次注入即可 public class Face ... -
jar下载地址
2022-02-11 23:34 3531、进入官网:https://sourceforge.net/ ... -
java 测试两个月前的今天-改为保留60天-bug
2021-08-18 14:03 591比如今天是8.31 两个月前是 6.30。 但是存在问题,比如 ... -
idea 常见配置
2021-06-07 17:11 3591 sst 8.37 checkstyle 版本 2 设置c ... -
linux定时清理日志
2020-09-21 13:36 490clearlog.sh #!/bin/bash # 清理30 ... -
前端中文传到后台乱码
2020-09-10 23:35 661info = new String(info.getBytes ... -
linux 开机自启动
2020-09-07 10:20 439run.sh 文件内容如下: #!/bin/bash cd ... -
nodejs 和npm对应关系
2020-08-07 09:45 2188https://nodejs.org/en/download/ ... -
mybatis 插入库 乱码
2020-05-10 12:25 375jdbc:mysql://127.0.0.1:3306/tes ... -
Transactional 不生效(转)
2020-04-16 12:33 383@Transactional 默认是当方法抛出RuntimeE ... -
全栈开发
2020-03-11 21:51 369全栈开发没有明确的定义,但应该指的就是前端+后端+数据库。所以 ... -
rocketmq-一个消费组对应一个订阅关系
2019-10-23 10:39 816源码分析RocketMQ同一个消费组设置不同tag,消息订阅失 ... -
rocketmq 标签过滤的方式
2019-10-21 09:16 451https://www.kunzhao.org/blog/20 ... -
json 转 对象
2019-09-30 16:48 382单个 XX a = JsonUtils.fromJson(js ... -
springboot @RequestBody 和 @RequestParam
2019-09-09 23:08 1305一 在路径中 在PathVariable后面接入“uid”就可 ... -
java.sql.SQLException: Parameter index out of range (1 > number of parameters, w
2019-08-28 22:42 626完整错误: java.sql.SQLException: Pa ... -
List 简洁赋值
2019-08-14 10:35 578List<String> name = new A ...
相关推荐
- **特性**:ConcurrentSkipListMap支持并发操作,多个线程可以同时进行插入、删除和查找,保证线程安全。 - **性能分析**:在多线程环境下,ConcurrentSkipListMap表现出色,特别是在查找大量有序数据时,如使用...
例如,在Hadoop MapReduce中,InputFormat类负责将输入数据拆分为多个Map任务,每个任务处理一部分键值对。 接下来,List拆分与Map拆分类似,但更专注于有序或无序元素的序列。List通常包含一组元素,这些元素可以...
在C#编程中,映射(Map)通常指的是对象之间的转换或复制过程,尤其是在需要创建一个新对象作为已有对象副本时。本篇文章将探讨几种不同的C#对象复制方法,并进行性能对比,帮助开发者选择最合适的策略。以下是所...
NULL 博文链接:https://zzcjobstudy.iteye.com/blog/2066185
`markers`属性用于存放标记的位置信息,它是一个包含多个对象的数组,每个对象至少包含`id`、`longitude`和`latitude`三个属性,分别表示标记的唯一标识、经度和纬度。 在`index.js`文件中,我们需要初始化地图的...
2. **结构体作为键**:自定义结构体可以包含任意类型的成员,如果结构体作为`map`的键,我们需要提供一个比较函数对象或者重载`运算符来确定键的排序规则。结构体的比较通常是通过对成员逐个进行比较来完成的。使用...
在这个特定的场景中,我们利用STL中的`map`和`vector`来实现一个多节点树的数据结构。`map`通常用于存储键值对,而`vector`则是一个动态数组,可以方便地添加、删除和访问元素。下面将详细解释如何利用这两个容器...
LinkMap是一个编译时生成的文件,包含了关于二进制文件的详细信息,包括符号表、代码和数据的地址等。通过解析这个文件,我们可以获取到Swift类的大小信息。 首先,让我们详细了解一下LinkMap文件。当Xcode构建一个...
GameMap是一个专门用于创建、编辑和管理游戏地图的软件或服务,它可能由gamemap官网提供,为开发者提供了丰富的地图设计功能。在游戏设计领域,一个精心设计的地图能够极大地提升玩家的游戏体验,无论是开放世界还是...
首先,我们定义了一个Persion结构体,其中包含了多个字段,这些字段的类型为int、string、bool等基本类型,这样的结构体类型是Go语言中常见的一种数据结构。 ```go type Persion struct { Id int Name string ...
自定义`Map`的一个挑战是实现高效的查找、插入和删除操作,这通常需要熟练掌握二叉搜索树的特性,尤其是红黑树的插入和旋转规则。此外,为了保证`Map`的线程安全,可能还需要考虑多线程环境下的同步机制,如互斥锁...
总的来说,电机效率MAP的绘制是一个结合了物理原理、数据处理和可视化技术的过程,对于理解和优化电机性能具有深远的影响。"map.zip"提供的工具或许能简化这一过程,使得非专业用户也能方便地分析电机的效率特性。
综上所述,虽然`map`和`set`在很多方面有共同之处,如基于红黑树的实现和有序性等,但它们在数据类型、插入规则、访问方式等方面存在明显差异。理解这些不同有助于开发者根据实际需求选择最合适的容器类型,提高程序...
当一个Map的值本身又是一个Map时,我们就说这个Map是嵌套的。例如,我们可以有一个用户信息的Map,其中键是用户ID,而对应的值是一个包含用户名、邮箱等信息的另一个Map。 ```java Map, Map, String>> users = new ...
C++中的`map`是一个关联容器,它存储键值对,其中每个键都是唯一的。`map`的数据结构通常实现为红黑树,提供了O(log n)的时间复杂度进行插入、查找和删除操作。下面我们将详细探讨`map`的基本用法和嵌套用法。 ### ...
- 层次管理:在TileMap中,可以设置多个层,比如背景层、地面层、物体层等,便于分层次处理。 - 对象图层:除了基本的瓷砖,还可以添加对象图层,放置可交互的游戏对象,如敌人、道具、开关等。 - 事件触发:结合...
它的核心目标是展示如何在多线程环境中使用互斥量(Mutex)来保护共享资源——一个名为`mapdate`的`map`容器。`map`容器在C++中用于存储键值对,它提供了关联数组的功能。 在这个程序中,有两个线程:主线程和删除...
查询结果通常是多个行,每一行可以映射为一个Map,键可能是数据库字段名,值则是对应字段的值。 例如,使用JDBC的代码可能如下: ```java List<Map, Object>> result = jdbcTemplate.queryForList("SELECT * FROM ...
电机Map图绘制是电机设计与分析中的一个重要环节,它能够直观地展示电机在不同工作条件下的性能特性。Map图通常包括效率地图(Efficiency Map)和功率地图(Power Map),帮助工程师了解电机在不同转速和负载下的...
C++中map容器提供一个键值对容器,map与multimap的差别仅仅在于multiple允许一个键对应多个值。map容器的使用技巧包括插入数据、查找数据和修改数据、删除数据、迭代数据等。 一、map容器的说明 map容器是一个关联...