1. 不大,容器本身就是数组,只是加上了一些控制访问或者其他的限制;在并发的条件下,收到并发数量和元素个数的影响,不同的数据结构在不同的场景下差异很大,这个数据可以参考<java并发编程实践>,书里有详尽的测试数据2.理论上应该是可以的,不过遍历很少会成为系统的瓶颈,所以很少会考虑在这个角度上对系统做优化
解决方案 »
- urlrewrite重写的问题
- jode反编译安装后不能用 ,谁会呀?
- struts2.1.6 启动服务报错
- 【EJB2.0】关于客户端+SessionBean+CMP调用的问题
- 我选了《J2EE开发效率的实验》这个毕业设计题目,但是不知道怎么下手!
- There is no Action mapped for namespace [/] and action name [] associated with c
- 在《java2核心技术-卷I》中有个问题请教大家。谢谢回复。
- tomcat数据源如何配置oracle数据库
- 厦门软件龙头企业一夜失色-(近百名员工合法权益何处申讨)
- java web项目备份以及恢复mysql数据库数据的问题
- 在页面写的,大家帮忙看看对不对
- eclipse中 Hibernate搭建 报错
类似的并发编程的书籍,多线程类的书籍,经典的能否推荐基本呢?
或者网上比较著名的源码也行。谢谢了
类似的并发编程的书籍,多线程类的书籍,经典的能否推荐基本呢?
或者网上比较著名的源码也行。谢谢了《java并发编程实践》个人感觉这本书很全面了,没读过其他的相关书籍,这本书一直放在手边做参考。源码的话,可以去读读Netty的源码,里面关于并发的消息接收分发的模型设计思想,可以借鉴
我想知道这种效率差的量级有多大,PS自己手头没有条件写代码测试。
我想知道这种效率差的量级有多大,PS自己手头没有条件写代码测试。100W条数据 数组用下标遍历0秒 ArrayList用iterator遍历31秒
我想知道这种效率差的量级有多大,PS自己手头没有条件写代码测试。100W条数据 数组用下标遍历0秒 ArrayList用iterator遍历31秒我想问的是 100 万条数据,从头到底遍历一遍的意义是什么?
我想知道这种效率差的量级有多大,PS自己手头没有条件写代码测试。100W条数据 数组用下标遍历0秒 ArrayList用iterator遍历31秒我想问的是 100 万条数据,从头到底遍历一遍的意义是什么?意义在于他要
说反了吧数组是一种容器,但容器不仅仅有数组,容器还有链表,Map,Set,Tree等多种实现。
我想知道这种效率差的量级有多大,PS自己手头没有条件写代码测试。100W条数据 数组用下标遍历0秒 ArrayList用iterator遍历31秒
ArrayList直接用for或者foreach遍历 再看看效率
我想知道这种效率差的量级有多大,PS自己手头没有条件写代码测试。100W条数据 数组用下标遍历0秒 ArrayList用iterator遍历31秒
ArrayList直接用for或者foreach遍历 再看看效率ArrayList用for肯定和数组一样 foreach==iterator 不用测
我想知道这种效率差的量级有多大,PS自己手头没有条件写代码测试。100W条数据 数组用下标遍历0秒 ArrayList用iterator遍历31秒
ArrayList直接用for或者foreach遍历 再看看效率ArrayList用for肯定和数组一样 foreach==iterator 不用测
不用测这三个字很不负责的。
我想知道这种效率差的量级有多大,PS自己手头没有条件写代码测试。100W条数据 数组用下标遍历0秒 ArrayList用iterator遍历31秒
ArrayList直接用for或者foreach遍历 再看看效率ArrayList用for肯定和数组一样 foreach==iterator 不用测
不用测这三个字很不负责的。看过JDK源码都知道 我比起你们这些逛说不写的 要负责的多
我想知道这种效率差的量级有多大,PS自己手头没有条件写代码测试。100W条数据 数组用下标遍历0秒 ArrayList用iterator遍历31秒
ArrayList直接用for或者foreach遍历 再看看效率ArrayList用for肯定和数组一样 foreach==iterator 不用测
不用测这三个字很不负责的。看过JDK源码都知道 我比起你们这些逛说不写的 要负责的多
真狂啊 大牛都不吹的 这是求知的地方 你随便说个答案别人要是都相信了 还要学习干嘛?
我想知道这种效率差的量级有多大,PS自己手头没有条件写代码测试。100W条数据 数组用下标遍历0秒 ArrayList用iterator遍历31秒
ArrayList直接用for或者foreach遍历 再看看效率ArrayList用for肯定和数组一样 foreach==iterator 不用测
不用测这三个字很不负责的。看过JDK源码都知道 我比起你们这些逛说不写的 要负责的多
真狂啊 大牛都不吹的 这是求知的地方 你随便说个答案别人要是都相信了 还要学习干嘛?你自己不写代码 不看源码 在这逼逼个鸡巴 这东西就是靠测的 你不信问个鸡巴 自己测啊 草 真不爱骂你
毕竟虚拟机解释跟本地方法调用方法一样,都需要另外的指令执行,二者效率真的会有很大差异么?
不管是什么指令,到最后都必须解释为机器指令才能被机器所理解。先启动虚拟机,在一个类的生存周期里面,先装载,再重构造(具体怎么称呼忘记了,是将class重排序什么的),再运行,最后退出。运行过程中指令被虚拟机解释,虚拟机转化为机器码,这样就多了一个过程了,比如一个100W的遍历,就得多100W次。当然,这也涉及到了JAVA虚拟机的一部分置换算法或者是其他的优化算法,结果不尽相同,但是一定会花去一部分时间
理论上应该是最快的了如果实战,
需要一定灵活度,比如不知道要装多少东西,
用ArrayList就行,它里面也是Object数组的实现。至于快多少快几倍,
现在的软硬件环境应该能提供很好的运行平台,
可以忽略不计了(个人感觉)good luck
public static void testAyyayPerformance()
{
int[] intArray = new int[10000000];
long start = System.currentTimeMillis();
int j;
for(int i : intArray){
j = i;
};
long end = System.currentTimeMillis();
System.out.println("数组耗时:" + (end - start)); //我电脑实测12ms
ArrayList<Integer> arrayList = new ArrayList<Integer>();
for(Integer i=0;i<10000000;i++){
arrayList.add(i);
}
Integer intA;
start = System.currentTimeMillis();
for(Integer a : arrayList){
intA = a;
}
end = System.currentTimeMillis();
System.out.println("ArrayList耗时:" + (end - start)); //我电脑实测140ms
}