我有一个这样的路径对象:
class Pathway {
private dbId;
private name;
}
这些通路在基因的 map 结构上,指向基因所属的所有通路的集合
Map<String, Set<Pathway>> geneToPathwayList;
我想把它转换成 Map<String, Set<String>> geneToPathwayDbId
的 map 使用流。
为此,我尝试遍历映射的条目集,收集键作为键,然后通过将路径集映射到一组 dbId 来收集值,但我无法获得语法正确。以下是它目前的样子:
Map<String, Set<String>> finalMap =
geneToPathwayList.entrySet().stream()
.collect(Collectors.toMap(
Map.Entry::getKey,
e -> e.stream().map(Pathway::getStId).collect(Collectors.toSet())));
我不知道如何选择 e
作为每个条目的值。
任何解决此问题的帮助都会非常有帮助!
最佳答案
听起来像你在追求
e -> e.getValue().stream().map(Pathway::getDbId).collect(Collectors.toSet())
关于java - Map<String, Set<Pathway>> 转换为字符串映射到 Pathways 属性之一的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65349080/