以下是测试代码:
public static void main(String args[]) {
List<Integer> objects = new ArrayList<>();
for (int i = 0; i < 100000000; i++) {
objects.add(i);
}
long start1 = System.currentTimeMillis();
int result1 = 0;
for (int i = 0; i < objects.size(); i++) {
result1 += objects.get(i);
}
System.out.println(result1);
long end1 = System.currentTimeMillis();
System.out.println("========传统写法MS==========" + (end1 - start1));
long start2 = System.currentTimeMillis();
int result = objects.stream().reduce(0, (a, b) -> a + b);
System.out.println(result);
long end2 = System.currentTimeMillis();
System.out.println("=========JDK 8 stream写法=======" + (end2 - start2));
}
结果是:
887459712
传统写法MS==142
887459712
===JDK 8 stream写法=4116
联系作者:微信号 maxchina_zhang