Demo
public class Test {
public static void main(String[] args) {
test(10);
test(100);
test(1000);
test(10000);
}
public static void test(int size) {
List<String> list = list(size);
long nanoTime = System.nanoTime();
testFor(list);
long nanoTime1 = System.nanoTime();
testForeach(list);
long nanoTime2 = System.nanoTime();
testJava8forEach(list);
long nanoTime3 = System.nanoTime();
System.out.println("普通for循环" + (int) (nanoTime1 - nanoTime) / 1000 + "ms");
System.out.println("增强for循环" + (int) (nanoTime2 - nanoTime1) / 1000 + "ms");
System.out.println("java8for循环" + (int) (nanoTime3 - nanoTime2) / 1000 + "ms");
System.out.println("-------------------------------------------------");
}
public static void testFor(List<String> list) {
for (int i = 0; i < list.size(); i++) {
list.get(i).hashCode();
}
}
public static void testForeach(List<String> list) {
for (String s : list) {
s.hashCode();
}
}
public static void testJava8forEach(List<String> list) {
list.forEach(str -> str.hashCode());
}
public static List<String> list(int size) {
List<String> list = new ArrayList<>();
for (int i = 0; i < size; i++) {
list.add(i + "hello world");
}
return list;
}
}
运行输出
普通for循环257ms
增强for循环4948ms
java8for循环378608ms
-------------------------------------------------
普通for循环125ms
增强for循环67ms
java8for循环371ms
-------------------------------------------------
普通for循环363ms
增强for循环530ms
java8for循环601ms
-------------------------------------------------
普通for循环2391ms
增强for循环1719ms
java8for循环1546ms
-------------------------------------------------
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix