可以去重distinctData.put(pinName, future.get());中future.get()的数据吗
时间: 2023-07-29 10:15:11 浏览: 46
当您使用`future.get()`获取任务的执行结果时,您可以在获取结果之前对结果进行去重操作。以下是一个示例代码,演示了如何在获取结果前进行去重:
```java
Set<Object> distinctResults = new HashSet<>();
for (int i = 0; i < 36; i++) {
try {
Future<Object> future = completionService.take();
String pinName = "pin" + (i + 1);
Object result = future.get();
// 进行去重操作
if (distinctResults.add(result)) {
distinctData.put(pinName, result);
}
} catch (ExecutionException e) {
e.printStackTrace();
}
}
```
在上述示例中,我们使用`Set`来存储已经获取的结果,利用`Set`的特性实现去重。在每次获取到结果时,我们先判断该结果是否已经存在于`distinctResults`集合中,如果不存在则将结果添加到`distinctResults`集合中,并将结果放入`distinctData`中。
这样,通过使用`Set`进行去重操作,您可以确保`distinctData`中的数据不会包含重复的结果。
请根据您的实际需求和数据类型,进行相应的修改和适配。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)