Java8遍历列表并存储在映射中 List List=new ArrayList(); 列表。添加(“abcd”); 列表。添加(“afsd”); 列表。添加(“添加”); Map ordersByInstrumentId=findService.findAllUsers(**list.get(0)**) .stream() .collect(Collectors.groupingBy(Dummy::getId,Collectors.toList())
我的方法findAllUsers采用字符串作为参数。Java8遍历列表并存储在映射中 List List=new ArrayList(); 列表。添加(“abcd”); 列表。添加(“afsd”); 列表。添加(“添加”); Map ordersByInstrumentId=findService.findAllUsers(**list.get(0)**) .stream() .collect(Collectors.groupingBy(Dummy::getId,Collectors.toList()),java,lambda,java-8,hashmap,java-stream,Java,Lambda,Java 8,Hashmap,Java Stream,我的方法findAllUsers采用字符串作为参数。 我想用迭代替换list.get(0),所以它将为每个元素调用函数并存储在映射中。我尝试了list.foreach,但它返回void,因此没有使用似乎您需要: List<String> list =new ArrayList<>(); list.add("abcd"); list.add("afsd"); list.add("addd"); Map<String, List<Person>> o
我想用迭代替换list.get(0),所以它将为每个元素调用函数并存储在映射中。我尝试了list.foreach,但它返回void,因此没有使用似乎您需要:
List<String> list =new ArrayList<>();
list.add("abcd");
list.add("afsd");
list.add("addd");
Map<String, List<Person>> ordersByInstrumentId = findService.findAllUsers(**list.get(0)**)
.stream()
.collect(Collectors.groupingBy(Dummy::getId, Collectors.toList()))
findService.findAllUsers
返回什么?list.stream().map(e->findService.findAllUsers(e)).flatMap(Collection::stream)
会给你一个stream
,也许这就是你需要的“我想用集成替换list.get(0)”-这意味着什么?@berry120我想用迭代替换它。我的键盘接错了字。谢谢。我对foreach的迭代是错误的。这是好消息solution@MarinescuRaluca铜砂矿;).collect(Collectors.groupingBy(Dummy::getId,Collectors.toList())
可以简化为.collect(Collectors.groupingBy(Dummy::getId))
@Aominèah!的确
list.stream()
.flatMap(x -> findService.findAllUsers(x).stream())
.collect(Collectors.groupingBy(Dummy::getId, Collectors.toList()));