1、sql聚合函数,将查询到的一列值拼接到一个字段
GROUP_CONCAT( rep.`wg_name` SEPARATOR ',' )
2、java8将list中以特定符号隔开
String result5 = listCust.stream().map(String::valueOf).collect(Collectors.joining(","));
3、获取某一项元素组成新的list
List<String> res = list.stream() // 将列表转换为Stream
.map(WmsTblbarcodeScaned::getTblBarcode) // 提取每个人的名字
.collect(Collectors.toList()); // 收集结果到新的列表
```
- // 使用Stream API遍历List,并检查每个对象的某个属性是否为null
List<MyObject> objectsWithNullProperty = myList.stream()
.filter(obj -> obj.getProperty() == null)
.collect(Collectors.toList());
- // 使用Stream根据指定字段分组后求和
Map<String, Integer> listSignMap = signList.stream()
.collect(Collectors.groupingBy(
WmsSignApplication::getCInvCode,
Collectors.summingInt(WmsSignApplication::getQty)
));
- // 使用Stream API进行双层分组
Map<String, Map<String, List<ErpSyncOutDTO>>> res = erpSyncOutDTOS.stream()
.collect(Collectors.groupingBy(
ErpSyncOutDTO::getCCode,
Collectors.groupingBy(ErpSyncOutDTO::getSyncCode)
));
- // 根据元素过滤得到新的list
List<UpdateWmsStockInDTO> scannedExist = tblBarcodeList.stream()
.filter(dto -> !tblBarCodeStatusAll.contains(dto.getTblBarcode()))
.collect(Collectors.toList());
- // 将list分组为map<string,list>
// 使用Stream API将用户按组别分组
Map<String, List<User>> groupedByGroup = users.stream()
.collect(Collectors.groupingBy(User::getGroup));
// 打印分组后的Map
groupedByGroup.forEach((group, usersInGroup) -> {
System.out.println("Group: " + group);
usersInGroup.forEach(user -> System.out.println(" - " + user.getName()));
});
- // 将list分组为map<string,list>
List<String> codeList = list.stream()
.map(MmsErpUnFinishedDeliveryNoteVO::getCCode)
.distinct()
.collect(Collectors.toList());
本文介绍了如何使用SQL的GROUP_CONCAT函数将查询结果拼接为单一字段,以及如何利用Java 8的Stream API结合Collectors.joining方法实现列表元素的连接。
914






