經(jīng)常有這種,一個數(shù)據(jù)庫里有多個字段,但是數(shù)據(jù)庫只能返回一個list,你group分組了也沒用。
然后你得到的是一個list,你想根據(jù)type分組,大概是這樣
數(shù)據(jù)庫返回的
[
{"name":"牛奶","desc":"吃了有力氣","type":"食物"},
{"name":"貓耳朵","desc":"富含豐富油脂","type":"食物"},
{"name":"電腦","desc":"可以提升人的效率","type":"工具"},
{"name":"防滑鞋","desc":"可以增大摩擦力,在冰面不摔倒","type":"工具"}
]文章來源:http://www.zghlxwxcb.cn/news/detail-820840.html
我想要的
{
"食物":[
{"name":"牛奶","desc":"吃了有力氣","type":"食物"},
{"name":"貓耳朵","desc":"富含豐富油脂","type":"食物"}
],
"工具":[
{"name":"電腦","desc":"可以提升人的效率","type":"工具"},
{"name":"防滑鞋","desc":"可以增大摩擦力,在冰面不摔倒","type":"工具"}
]
}文章來源地址http://www.zghlxwxcb.cn/news/detail-820840.html
上代碼
代碼(參考調(diào)用)
taskService.convertListToMap(taskList,BoardTask::getType);
方法
//傳入一個list<T>,返回一個指定key的list<T>的map
public static <T> Map<String, List<T>> convertListToMap(List<T> list, Function<T, String> keyExtractor) {
return list.stream()
.collect(Collectors.groupingBy(keyExtractor));
}
到了這里,關(guān)于Java將一個list<T>指定key轉(zhuǎn)換成Map<list>的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!