Java相当于python的/ haskell map()函数与多处理/多线程? [重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我知道有些问题与我的相似。但是,它们看起来非常过时(假设JDK 7等)。所以,我已经编写了一段时间的python并且不得不为大学学习Java。我知道there is a feature in Python,你可以使用一个Threads / Processes池将一个值列表映射到一个函数。

from multiprocessing.dummy import Pool as ThreadPool 
pool = ThreadPool(4) 
results = pool.map(my_function, my_array)

我必须在大量文件上使用该函数,我必须使用Java(10),我想使用多处理。我的问题是:Java有这样的功能吗?如果是这样,最佳做法是正确使用它吗?

java python multithreading multiprocessing
1个回答
1
投票

是的,您可以使用parallelStream,例如,将整数列表转换为字符串列表:

List<Integer> list = List.of(1, 2);

List<String> strings =
        list.parallelStream()
                .map(integer -> String.valueOf(integer)).collect(Collectors.toList());
© www.soinside.com 2019 - 2024. All rights reserved.