burukeYou / JDFrame

一个Java仿DataFrame模型的实现, 语意化和简化以及增强stream流式处理能力
https://burukeyou.github.io/JDFrame/
Apache License 2.0
246 stars 38 forks source link

顶层考虑加个toMap方法吗? #10

Closed bufoon closed 2 months ago

bufoon commented 2 months ago

顶层考虑加个toMap方法吗?业务开发中,有时候为了减少遍历,经常会把一个list转成map

burukeYou commented 2 months ago

这个Frame本身也是可以直接.stream()的 所以可以用.stream() 去 toMap。 后续可以考虑加到Frame,但是暂时只会考虑加 to 一级层级的toMap, 比如 Map<K,V> map = Frame.toMap(User::getK,User::V); 而不是多层级的Map比如: Map<K,Map<J,V>> map = Frame.toMap(xxxxx),多层级的toMap没想好怎么在方法参数上更好描述这种关系, 如果到时更难用,那这种逻辑还不如直接交给原生stream去处理。

burukeYou commented 2 months ago

顶层考虑加个toMap方法吗?业务开发中,有时候为了减少遍历,经常会把一个list转成map

已添加,见0.0.6版本, 并且解决了原生stream toMap 的两个问题。 1-value不能为null否则空指针异常 2-不能重复key,否则 Duplicate key 异常。 然后还支持to二层级Map, 比如。 Map<String,Map<Integer,String>> map = Frame.toMap(Student::getSchool, Student::getName, Student::getId).