gpt4 book ai didi

java - 将嵌套列表 List> 转换为 Set
转载 作者:行者123 更新时间:2023-12-01 16:43:02 26 4
gpt4 key购买 nike

我正在制作一个程序,将图片转换为灰度形式,然后从该灰度形式将其转换为 Fairey 格式。

我正在使用嵌套 for 循环来转换嵌套列表。这工作完美,但我想使用流来完成它,如果我使用输出更改来完成它,但我认为它应该产生相同的输出。我哪里错了?

grayPhoto 是 List<List<Graypixel>>

你们中有人看到我做错了什么或者流应该是什么样子吗?

for (int i = 0; i < grayPhoto.size(); i++) {
for (int j = 0; j < grayPhoto.get(i).size(); j++) {
numbersSet.add(grayPhoto.get(i).get(j));
}
}

grayPhoto.forEach(r -> r.forEach(e -> numbersSet.add(e)));

最佳答案

您需要使用 flatMap 操作,将列表列表展平为列表(此处为列表流到流),然后收集为 Set :

Set<Graypixel> numbersSet = grayPhoto.stream()
.flatMap(List::stream)
.collect(Collectors.toSet());

关于java - 将嵌套列表 List<List<Object>> 转换为 Set<Object>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59227106/

26 4 0