小编War*_*eto的帖子

如何使用java 8 stream和lambda来flatMap一个groupingBy结果

我有一个包含其他对象列表的对象,我想返回由容器的某些属性映射的包含对象的平面图.任何一个是否可以只使用流和lambdas?

public class Selling{
   String clientName;
   double total;
   List<Product> products;
}

public class Product{
   String name;
   String value;
}
Run Code Online (Sandbox Code Playgroud)

让我们来处理一系列操作:

List<Selling> operations = new ArrayList<>();

operations.stream()
     .filter(s -> s.getTotal > 10)
     .collect(groupingBy(Selling::getClientName, mapping(Selling::getProducts, toList());
Run Code Online (Sandbox Code Playgroud)

结果将是善意的

Map<String, List<List<Product>>> 
Run Code Online (Sandbox Code Playgroud)

但我想像它一样扁平化

Map<String, List<Product>>
Run Code Online (Sandbox Code Playgroud)

java lambda java-8 java-stream collectors

4
推荐指数
2
解决办法
2719
查看次数

nodemon安装错误"没有有效的版本可用于超时"

尝试在全新的节点项目中安装nodemon时出现此错误.

我已经创建了一个名为my-project的空白文件夹,然后在其中,我已执行以爬行package.json文件:

 npm init -f
Run Code Online (Sandbox Code Playgroud)

然后当试图跑

npm install --save-dev nodemon
Run Code Online (Sandbox Code Playgroud)

这就是结果:

 npm ERR! code ENOVERSIONS
 npm ERR! No valid versions available for timed-out
Run Code Online (Sandbox Code Playgroud)

我只是将我的节点版本更新为最新版本的npm工具.

node --version -> v8.9.4
npm --version -> 5.6.0
Run Code Online (Sandbox Code Playgroud)

有趣的是,我在2天前在另一台电脑上完成了同样的步骤,没有任何问题.

325 verbose stack timed-out: No valid versions available for timed-out
325 verbose stack     at pickManifest (C:\Program Files\nodejs\node_modules\npm\node_modules\pacote\node_modules\npm-pick-manifest\index.js:20:11)
325 verbose stack     at fetchPackument.then.packument (C:\Program Files\nodejs\node_modules\npm\node_modules\pacote\lib\fetchers\registry\manifest.js:39:14)
325 verbose stack     at tryCatcher (C:\Program Files\nodejs\node_modules\npm\node_modules\bluebird\js\release\util.js:16:23)
325 verbose stack     at Promise._settlePromiseFromHandler (C:\Program Files\nodejs\node_modules\npm\node_modules\bluebird\js\release\promise.js:512:31)
325 verbose stack     at Promise._settlePromise (C:\Program Files\nodejs\node_modules\npm\node_modules\bluebird\js\release\promise.js:569:18)
325 verbose …
Run Code Online (Sandbox Code Playgroud)

node.js nodemon

4
推荐指数
1
解决办法
2379
查看次数

标签 统计

collectors ×1

java ×1

java-8 ×1

java-stream ×1

lambda ×1

node.js ×1

nodemon ×1