@Test
public void test01(){
List<TbSeller> tbSellers = tbSellerMapper.selectAll();
for (TbSeller tbSeller : tbSellers) {
System.out.println(tbSeller);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// (k1, k2) -> k1)是为了解决TbSeller::getSellerId作为key时,会报异常 Function.identity()的结果是每个实例对象TbSeller
System.out.println("******************list转map key为某一字段 value为对象*****************");
Map<String, TbSeller> tbSellerMap = tbSellers.stream().collect(Collectors.toMap(TbSeller::getSellerId, Function.identity(), (k1, k2) -> k1));
System.out.println("tbSellers转成map的结果tbSellerMap是:"+JSON.toJSONString(tbSellerMap));
// {
//"baidu" :{ "addressDetail" : "西二旗小胡同",
// "linkmanMobile" : "1390000111",
// "linkmanName" : "李彦宏",
// "linkmanQq" : "123456",
// "name" : "百度公司",
// "nickName" : "百度商店",
// "password" : "123456",
// "sellerId" : "baidu",
// "status" : "1",
// "telephone" : "4004004400" },
//
//"baima" :{ "name" : "我也不知道",
// "nickName" : "你懂的",
// "password" : "123456",
// "sellerId" : "baima",
// "status" : "1",
// "telephone" : "13388888899" }}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
System.out.println("***************list过滤********************");
// 基本数据类型用== 进行比较 其他大部分用equals进行比较
List<TbSeller> newTbSellerList = tbSellers.stream().filter(tbSeller -> StringUtils.equals(tbSeller.getSellerId(),"baidu"))
.collect(Collectors.toList());
System.out.println("tbSellers过滤的结果newTbSellerList是:"+JSON.toJSONString(newTbSellerList));
/**
[{ "addressDetail" : "西二旗小胡同",
"linkmanMobile" : "1390000111",
"linkmanName" : "李彦宏",
"linkmanQq" : "123456",
"name" : "百度公司",
"nickName" : "百度商店",
"password" : "123456",
"sellerId" : "baidu",
"status" : "1",
"telephone" : "4004004400" }]
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
System.out.println("***************分组,计数********************");
Map<String, Long> collect = tbSellers.stream().collect(Collectors.groupingBy(TbSeller::getName, Collectors.counting()));
System.out.println("tbSellers过滤的结果collect是:"+JSON.toJSONString(collect));
// 复杂写法
Map<TbSeller, Long> collect1 = tbSellers.stream().collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
System.out.println("tbSellers过滤的结果collect1是:"+JSON.toJSONString(collect1));
/**
{"我也不知道":1,"百度公司":1}
*/
System.out.println("***********************************");
}