gpt4 book ai didi

java - 对列表对的值运行 invokeAll

转载 作者:行者123 更新时间:2023-12-01 19:29:19 24 4
gpt4 key购买 nike

我有一个可调用列表:

List<Pair<String, Callable<Integer>>> callabes;

我想使用 ExecutorService::invokeAll 调用所有这些可调用对象,并将此列表变为:List<Pair<String, Integer>>

我该怎么做?

我的执行程序服务是一个固定线程池,我希望受益于它对并行线程数量的限制

最佳答案

我猜测您正在使用 Apache Commons Pair。你遗漏了该信息。如果是这样,则该Pair基本上是一个具有keyvalue的对象。您可以使用streammap来收集

示例应用程序:

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.lang3.tuple.Pair;

/**
*
* @author blj0011
*/
public class Main
{
public static void main(String[] args)
{
List<Pair<Integer, String>> test = new ArrayList();
test.add(Pair.of(1, "one"));
test.add(Pair.of(2, "two"));
test.add(Pair.of(3, "three"));

List<String> values = test.stream().map(Pair::getValue).collect(Collectors.toList());

keys.forEach(System.out::println);
}
}

您的潜在翻译:

List<Callable<Integer>> values =  test.stream().map(Pair::getValue).collect(Collectors.toList());  

关于java - 对列表对的值运行 invokeAll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59276173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com