java8的list转map tomap方法Key值重复,加上第三个参数报类型转换异常

网上百度 加了(value,value2)->value之后报错 求大佬帮忙解答一下

 

id为key,apple对象为value,可以这么做: 

/**
 * List -> Map
 * 需要注意的是:
 * toMap 如果集合对象有重复的key,会报错Duplicate key ....
 *  apple1,apple12的id都为1。
 *  可以用 (k1,k2)->k1 来设置,如果有重复的key,则保留key1,舍弃key2
 */
Map<Integer, Apple> appleMap = appleList.stream().collect(Collectors.toMap(Apple::getId, a -> a,(k1,k2)->k1));

参考上面的,再试试

参数的类型不对,你的value,value2分别是什么类型