【发布时间】:2016-12-20 03:38:55
【问题描述】:
我正在开发一个带有许多List-s 和程序的Java 应用程序,我需要它快速执行。我想知道当我指定列表的类型元素时,循环是否更快。
一个例子:
代码 1:
List list = new ArrayList();
Item item;
list.add(...);
list.add(...);
list.add(...);
int t = list.size();
for(int i = 0; i < t; i++){
item = (Item)list.get(i);
//...
}
代码 2:
List<Item> list = new ArrayList<Item>();
Item item;
list.add(...);
list.add(...);
list.add(...);
int t = list.size();
for(int i = 0; i < t; i++){
item = list.get(i);
//...
}
code 2 比 code 1 快吗?
【问题讨论】:
-
为什么不你测量它?此外,它应该是 - List
- list = new ArrayList();或 List
- list = new ArrayList
- ();
- list = new ArrayList();或 List
-
你是怎么计时的?
-
@ElliottFrisch 我认为这就是问题 - 它更快吗?
-
@cricket_007 也许吧。如果您测试了示例一,那么示例二第二个可能是 JIT 版的?如果我们知道 OP 对
item(s) 做了什么,这个问题会更有趣。 -
@Juan Camacho,你测量过性能吗?您注意到性能差异了吗?
标签: java performance list arraylist