代码:
public static void main(String[] args) {
List<Apple> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
Apple apple = new Apple();
apple.setWeight(i);
list.add(apple);
}
List<Apple> apples = new ArrayList<>();
long startTime = System.currentTimeMillis(); //获取开始时间
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getWeight() > 400) {
apples.add(list.get(i));
}
}
long endTime = System.currentTimeMillis(); //获取结束时间
System.out.println("程序运行时间: " + (endTime - startTime) + "ms");
long startTime1 = System.currentTimeMillis(); //获取开始时间
list.parallelStream().filter((Apple a) -> a.getWeight() > 400);
long endTime1 = System.currentTimeMillis(); //获取结束时间
System.out.println("程序运行时间1: " + (endTime1 - startTime1) + "ms");
}
apple数量是100的时候
程序运行时间: 0ms
程序运行时间1: 163ms
?????传说中的流处理效率很高呢??????????
继续加大数量
apple数量是100000的时候
程序运行时间: 9ms
程序运行时间1: 129ms
??????????
apple数量是10000000的时候
程序运行时间: 307ms
程序运行时间1: 69ms
这才对,很显然。流适合那种大数据处理。如果数据小,还是普通的效率反而高