java List 流操作

  • map
// 将集合中额code去掉${},
List<String> fullExpCodeList = searchDataCodeList.stream().map(code -> code.replaceAll("[${}]", "")).collect(Collectors.toList());
// 然后转换成数组list
List<String[]> fullCodeList = fullExpCodeList.stream().map(code -> code.split("[.]")).filter(code -> code.length == 3).collect(Collectors.toList());
if(fullCodeList.isEmpty()){
  return subjectDataMap;
}
// 获取访视信息List
List<String[]> phaseInfoList = fullCodeList.stream().map(code -> code[0].split("#")).distinct().collect(Collectors.toList());
// 获取form信息List
List<String[]> formInfoList = fullCodeList.stream().map(code -> code[1].split("#")).distinct().collect(Collectors.toList());
// 获取item信息List
List<String[]> itemInfoList = fullCodeList.stream().map(code -> code[2].split("#")).distinct().collect(Collectors.toList());
// 获取访视code list
List<String> phaseCodeList = phaseInfoList.stream().map(code -> code[0]).distinct().collect(Collectors.toList());
// 获取访视num list
List<String> phaseNumList = phaseInfoList.stream().map(code -> code[1]).distinct().collect(Collectors.toList());
// 获取form code list
List<String> formCodeList = formInfoList.stream().map(code -> code[0]).distinct().collect(Collectors.toList());
  • 最大1
 List<String> dateList = new ArrayList<String>();
 dateList.add("2020-12-21 14:39:27");
 dateList.add("2020-12-22 14:39:27");
 dateList.add("2020-12-24 14:39:27");
 dateList.add("2020-12-25 14:39:36");
 dateList.add("2020-12-19 14:39:36");
 dateList.add("2020-12-24 14:39:36");
 Optional<String> dispatchDate = dateList.stream().max((a,b)->a.compareTo(b));
 //Optional<String> dispatchDate = dispathDateList.stream().max(Comparator.naturalOrder());
 System.out.println(dispatchDate.get());
  • 最大2
 List<Item> itemList = new ArrayList<>();
 itemList.add(new Item(1, 10));
 itemList.add(new Item(0, 10));
 itemList.add(new Item(0, 20));
 itemList.add(new Item(0, 40));
 itemList.add(new Item(3, 10));
 itemList.add(new Item(0, 30));
 itemList.add(new Item(0, 50));
 itemList.add(new Item(2, 10));
 Optional<Item> itemOptional = itemList.stream().max(Comparator.comparing(Item::getA));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值