java - 如何使用 Java 流收集来创建以字符串为键而不是对象的映射?
问题描述
我有以下...
public Map<Object, Integer> getRankings(){
Stream<String> stream = votes.stream();
Map<Object, Integer> map = stream
.collect(Collectors.toMap(s -> s, s -> 1, Integer::sum));
return Vote.sortByValues(map);
}
但我希望返回类型Map<String, Integer>
改为。我如何强制Object
到 a String
?
解决方案
由于您有Stream<String>
,因此可以通过使用以下键类型声明地图来推断String
:
Map<String, Integer> map =
stream.collect(Collectors.toMap(s -> s, s -> 1, Integer::sum));
推荐阅读
- javascript - Target This 和 Class 没有按预期工作
- amazon-web-services - Glue AWS在boto3 python上创建数据目录表
- javascript - 对 Django 上的 HTTP 请求和 JSON 消息进行故障排除
- javascript - 如何混合 SSR 和 CSR?
- r - 从列表中替换列中的特定值
- rx-java2 - RxJava - flatMap 在同一个线程上
- php - 升级到 PHP 7.1
- php - 使用 Ajax 和 Codeigniter 将图像上传到数据库
- c++ - 在 dynamic_pointer_cast 之后调用派生类的构造函数
- dart - 日期时间时区反序列化