Java 8 - ParallelStream forEach 在尝试创建 JSON 对象时出错



我试图创建两个JSONObjects和值并为Arraylist获取它。我正在使用Java8 ParallelStream和forEach功能来实现这一点。

请在下面找到我的代码,我无法在单个 forEach 方法中创建两个 JSON对象。

错误像:userlist cannot be resolved

user_list.parallelStream().forEach((userlist) -> 
     purchaserDetail.put("Purchaser", userlist.getName()),
     purchaserDetail.put("Purchaser_Email", userlist.getEmail_address()) ) ;

多个语句需要大括号:

user_list.parallelStream().forEach((userlist) -> {
     purchaserDetail.put("Purchaser", userlist.getName());
     purchaserDetail.put("Purchaser_Email", userlist.getEmail_address());});

如果您关心元素放入purchaserDetail的顺序,则可能需要使用 forEachOrdered

虽然同意@Eran答案包装成{}。我不认为这是线程安全的,因为同一个对象 buyerDetail 是由并行流放置的,当想要放入同一个对象时不要使用并行流,除非正在操作的对象是线程安全的实现(即 ConcurrentHashMap(

最新更新