Java Stream流 List< T >转换Map方法汇总合集(大概是最全吧)
warning:
这篇文章距离上次修改已过230天,其中的内容可能已经有所变动。
在Java中,可以使用Stream API的collect(Collectors.toMap())
方法将List转换为Map。以下是几种常见的转换方法:
- 将List中对象的某个属性作为key,其它属性作为value转换为Map:
- 如果List中对象的key可能重复,可以使用
toMap
的重载版本来处理重复的key:
- 如果List中对象的key不会重复,可以使用
toMap
的另一个重载版本,它不允许key重复:
- 将整个对象作为Map的value,key为对象的某个属性:
- 将List转换为Map,其中key和value都是对象本身:
- 使用
Function
来定制key和value的映射:
以上代码中,T
是List中的元素类型,KeyType
和ValueType
分别是转换后Map的key和value的类型。T::getKeyMethod
和T::getValueMethod
是获取对象属性的方法引用。keyFunction
和valueFunction
是自定义的Function
对象。
评论已关闭