在工作中,我遇到了一个这样的用法,Collectors.toMap(),请问大家这是基于JDK什么版本的呢,有哪些常用的用法,麻烦帮忙解答一下,非常感谢。
java8中,将List<E>中的元素E转换成Map<K,V>
Collector<T, ?, Map<K,U>> toMap(Function<? super T, ? extends K> keyMapper,
Function<? super T, ? extends U> valueMapper,
BinaryOperator<U> mergeFunction)
一般是Stream<T>.collect(Collectors.toMap(...))这样来调用,转成一个map
Collectors.toMap(): JDK8 中提供,用于将 Stream 流转换为 Map。
用法1:根据某一属性,对对象的实例或属性做映射
例如:使用 Stream 想要将集合的某一属性(例如手机号)作为 key,对象本身作为 value,这样我们在根据属性获取实例或实例的其他属性时就可以省去遍历每个对象的时间。
用法2:根据某一属性,对对象集合进行去重
不知道你说的是不是Java8里的流特性里的东西,https://blog.csdn.net/hkl_Forever/article/details/127360334
stream的具体内容可以看看菜鸟教程 https://www.runoob.com/java/java8-streams.html
详细的可以看这个https://www.matools.com/api/java8