List<Map<String, Object>>中有key为qty,如何分别统计qty= 1和qty=-1元素数量
时间: 2023-12-14 15:36:12 浏览: 27
可以使用Java 8中的流(Stream)和过滤(Filter)操作来完成这个任务。具体的代码如下:
```java
List<Map<String, Object>> list = ... // 假设已经有一个List<Map<String, Object>>对象
long qty1Count = list.stream()
.filter(map -> map.containsKey("qty") && map.get("qty").equals(1))
.count();
long qtyMinus1Count = list.stream()
.filter(map -> map.containsKey("qty") && map.get("qty").equals(-1))
.count();
```
上述代码中,首先使用`stream()`方法将`List`转换为`Stream`对象,然后使用`filter()`方法对每个`Map`进行过滤,只保留`qty`等于1或者等于-1的元素。最后使用`count()`方法统计符合条件的元素数量。其中,`qty1Count`表示`qty`等于1的元素数量,`qtyMinus1Count`表示`qty`等于-1的元素数量。
相关问题
List<Map<String, Object>>中如何统计key=qty的元素数量
可以使用Java 8的stream和filter方法来统计List中key为"qty"的元素数量。具体代码如下:
```
long count = list.stream().filter(map -> map.containsKey("qty")).count();
```
这里的`list`是指要统计的`List<Map<String, Object>>`,`count()`方法返回统计结果的数量,即key为"qty"的元素数量。
WAServiceMainContext.js?t=wechat&s=1686152377210&v=2.32.0:1 TypeError: Cannot create property 'qty' on string '<html> <head><title>403 Forbidden</title></head> <body> <center><h1>403 Forbidden</h1></center> <hr><center>nginx</center> </body> </html> ' at detail.js? [sm]:62 at db.js? [sm]:41 at success (util.js? [sm]:25) at Object.success (WASubContext.js?t=wechat&s=1686152377210&v=2.32.0:1) at Object.success (WASubContext.js?t=wechat&s=1686152377210&v=2.32.0:1) at Function.t.length.f.<computed> (WAServiceMainContext.js?t=wechat&s=1686152377210&v=2.32.0:1) at :61380/appservice/<api request success callback function> at WAServiceMainContext.js?t=wechat&s=1686152377210&v=2.32.0:1 at Hc (WAServiceMainContext.js?t=wechat&s=1686152377210&v=2.32.0:1) at Function.<anonymous> (WAServiceMainContext.js?t=wechat&s=1686152377210&v=2.32.0:1)(env: Windows,mp,1.06.2303220; lib: 2.32.0)
这个错误提示显示您的请求返回的是一个403错误,即服务器拒绝了您的请求。可能是由于缺少访问权限或者网络限制等原因导致的。
您可以尝试以下方法解决问题:
1. 检查您的请求是否包含正确的身份验证信息,如API密钥、访问令牌等。
2. 检查您的网络连接是否正常,并且没有被防火墙或者代理服务器拦截。
3. 如果您使用的是公共API,可能会受到访问限制,您可以查看对应API的文档,了解具体的访问限制。
4. 如果以上方法都不行,您可以联系API提供商,寻求技术支持或者解决方案。