List 转Map
Map<Integer, ErroSendDO> mapErroSendValue = new HashMap<Integer, ErroSendDO>();
List<ErroSendDO> list = (query);
mapErroSendValue = () .collect((ErroSendDO::getId, a -> a, (k1, k2) -> k1));
List<MenuDO> listMenu = (params) ;
Map<Long,String> map = ().collect((MenuDO::getMenuId, MenuDO::getName));
有序的 List 转Map
Map<String, ColunmMpDO> mapColunmMpDO = new LinkedHashMap<String, ColunmMpDO>();
List<ColunmMpDO> list = (query); //查询数据库得到list集合
mapColunmMpDO = () .collect((ColunmMpDO::getColumnCode, a -> a, (k1, k2) -> k2,LinkedHashMap::new));//转为一个有序的map
List 转Map 重复的list合并
Map<String, List<RuleDO>> mapRule = new HashMap<String, List<RuleDO>>();
List<RuleDO> list = (query); //查询数据库得到list集合
mapRule = ().collect((RuleDO::getElecId, s -> {
List<RuleDO> l = new ArrayList<>();
(s);
return l;
}, (List<RuleDO> s1, List<RuleDO> s2) -> {
(s2);
return s1;
}));
List 排序
List<RuleLogDO> ruleLogList = (params,"");
((RuleLogDO::getRuleTypeVal));//升序
((RuleLogDO::getRuleTypeVal).reversed()); //降序
List<String[]> list = new ArrayList<>();
(list, (s -> s[1])); //按照数组中一个下标值排序(字母)
//按照数组中一个下标值排序 (数字)
(list, (s -> (s[1])));
//倒序
(list);
List 其中一个抽取其中一个对象
List<LoginlogDO> loginlogList = (query);
List<String> userIds = ().map(p -> ()).collect(());
//抽取其中一个对象并且去重
userids = ().distinct().filter(distinctByKey(LoginlogDO::getUserid)).map(LoginlogDO::getUserid);
/**
* 对象属性去重
* @param keyExtractor
* @param <T>
* @return
*/
private static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
Set<Object> seen = ();
return t -> ((t));
}