我有一个包含其他对象列表的对象,我想返回由容器的某些属性映射的包含对象的平面图.任何一个是否可以只使用流和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) 尝试在全新的节点项目中安装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)