WHAT
steam既不是一种数据结构也不用于存放数据,常用于集合的逻辑处理。
强大之处在于通过简单的链式编程,完成对数据的处理。可以通过多线程的方式充分发挥多核处理器的计算能力。
parallelStream提供了流的并行处理,它是Stream的另一重要特性,其底层使用Fork/Join框架实现。简单理解就是多线程异步任务的一种实现。
HOW
public class StreamTest {
public static void main(String[] args) throws IOException {
System.out.println(Thread.currentThread().getName() + "" + "START");
long length = 10000;
List<Integer> list = new ArrayList<>();
for (long i = 0; i < length; i++) {
list.add(ThreadLocalRandom.current().nextInt(Integer.MAX_VALUE));
}
list.stream().forEach(item -> {
System.out.println(Thread.currentThread().getName() + ":" + item);
});