stream的二次封装 在工作中,经常有这样的需求:将一个集合转换成map、将一个集合过滤筛选等操作等。这些通过java8的流编程很容易实现,但是写多了就会发现这样一长串写下来很不爽,于是我对它进行了简单封装,比如我想要的结果是将一个list转换成map,map的key是list对象中的主键,那么我可以构造一个方法,传入list和map中key与value的函数,返回想要的结果,感觉这样更加清晰,就类使用黑盒,代码如下: public class DecorativeStreamUtil { /** * list转map I V K 分别代表输入集合泛型的类型、map中key的类型、map中值的类型 * @param list : 输入的集合 * @param functionK : 键转换函数 * @param functionV : 值转换函数 * @return java.util.Map<K,V> */ public static <I,K,V> Map<K,V> list2map(List<I> list, Function<I,K> functionK, Function<I,V> functionV){ if (list == null || list.size()==0){ return Collections.EMPTY_MAP; } return list.stream().collect(Collectors.toMap(functionK, functionV)); } /** * * @param list : 输