相关疑难解决方法(0)

使用流生成地图时忽略重复项

Map<String, String> phoneBook=people.stream()
                                    .collect(toMap(Person::getName, Person::getAddress));
Run Code Online (Sandbox Code Playgroud)

重复发生时,我得到重复的密钥异常.

是否可以忽略在重复发生时将值添加到映射?

当存在重复时,它应该继续忽略该重复键.

java java-8 java-stream

226
推荐指数
3
解决办法
10万
查看次数

Java8:HashMap <X,Y>到HashMap <X,Z>使用Stream/Map-Reduce/Collector

我知道如何ListY- > "转换"一个简单的Java Z,即:

List<String> x;
List<Integer> y = x.stream()
        .map(s -> Integer.parseInt(s))
        .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

现在我想用Map做基本相同的事情,即:

INPUT:
{
  "key1" -> "41",    // "41" and "42"
  "key2" -> "42      // are Strings
}

OUTPUT:
{
  "key1" -> 41,      // 41 and 42
  "key2" -> 42       // are Integers
}
Run Code Online (Sandbox Code Playgroud)

解决方案不应限于String- > Integer.就像List上面的例子一样,我想调用任何方法(或构造函数).

java mapreduce java-8 java-stream collectors

188
推荐指数
6
解决办法
15万
查看次数

Collectors.toMap()和Collectors.groupingBy()之间的差异收集到Map中

我想创建一个MapListPointS和有地图从里面用相同的parentId,如映射列表中的所有条目Map<Long, List<Point>>.
我用过Collectors.toMap()但不编译:

Map<Long, List<Point>> pointByParentId = chargePoints.stream()
    .collect(Collectors.toMap(Point::getParentId, c -> c));
Run Code Online (Sandbox Code Playgroud)

java java-8 collectors

22
推荐指数
1
解决办法
3万
查看次数

标签 统计

java ×3

java-8 ×3

collectors ×2

java-stream ×2

mapreduce ×1