按照組合鍵分類
1,list分類 用stream分類,自動變成map,可以組合屬性分類 直接用groupb有,連用幾個分幾層,也可逐級分類,用一級分類一級,不必一步到位
// private static string fetchgroupkeydaypart(string channelcode, string datetypecode, templatedimension templatedimension)
listmapdatetypevalue = datetype.getvalue();
map> groupbydaypart = mapdatetypevalue.stream().filter(e -> daytype.equals(e.getdatetypecode())).collect(collectors.groupingby(e -> fetchgroupkeydaypart(mapkey, daytype, e)));
兩層map轉化
2,多層分類,map套map //按照模板分類所有維度--list中的元素是map---即可對map分類---list分類自動變成map----多個map間按照key合併
flatmap對集合進行抽出部分的裁剪,當每次抽出的是list用flagmap,否則用map
mapm1 = new hashmap<>();
m1.put("a", 1l);
m1.put("b", 100l);
mapm2 = new hashmap<>();
m2.put("a", 10l);
m2.put("b", 20l);
m2.put("c", 100l);
list> beforeformatting = new arraylist<>();
beforeformatting.add(m1);
beforeformatting.add(m2);
3,map轉list
hashmapmap = new hashmap<>();
map.put("mayun",2000);
map.put("mahuateng",1200);
map.put("liuqiangdong",700);
listcollect = map.entryset().stream().map(en -> new account(en.getkey(), en.getvalue())).collect(collectors.tolist());
collect.stream().foreach(n-> system.out.println(n));
//用這中去重方法空key會報錯空指標變成""用的時候在去掉""即可
map中巢狀多層map的方法
這是乙個map中巢狀多層map的方法,tmcisdataitemdef是乙個物件,tmcisdataitemdefdao.queryforlist 方法從資料庫中取出所有tmcisdataitemdef表中的資料放大list中,再變數list,根據物件的字段分級放到map中。public map g...
java多層map巢狀案例
這是做專案事service層的乙個方法,tmcisdataitemdef是乙個物件,tmcisdataitemdefdao.queryforlist 方法從資料庫中取出所有tmcisdataitemdef表中的資料放大list中,再變數list,根據物件的字段分級放到map中。public map ...
Stream的flatmap與map異同的理解
他們的相同點是接收的入參都是乙個function。不同點這個入參function的返回不同。map返回乙個物件,flatmap返回乙個stream。這就使得map是一對一的處理,得到的stream中元素的數量和原始數量一致,而flatmap返回stream這就使得flatmap可以具備一對多的處理能...