JDK1.8提供了数据的流处理,在遍历等操作时无需新的对象,拥有更高的性能;串行流(stream)就是单线程操作,并行流(parallelStream)则是开若干个线程去处理数据,并行流处理数据是无序的;遍历性能上并行流要比串行流优越很多;
public static void main(String[] args){
List<Integer> list = new ArrayList<Integer>();
for(int i = 0; i < 10000; i ++){
list.add(i);
}
Long start2 = System.currentTimeMillis();
list.stream().forEach(a -> {
a += 1;
});
Long end2 = System.currentTimeMillis();
System.out.println(end2 - start2);
Long start1 = System.currentTimeMillis();
list.parallelStream().forEach(a -> {
a += 1;
});
Long end1 = System.currentTimeMillis();
System.out.println(end1 - start1);
}