stream
菜鸟ZhAng~
我欲乘风破浪
展开
-
Stream流将String的数字集合转成Integer类型数字集合
int[] ints = recordDTO.getIdList().stream().mapToInt(Integer::parseInt).toArray(); List<Integer> ids = Arrays.stream(ints).boxed().collect(Collectors.toList());测试注意,必须是数字的字符串,不然会报错原创 2022-04-06 10:42:37 · 4415 阅读 · 0 评论 -
stream流配合lamda表达式统计对象属性对应的数量
//统计数量 long failNum = allRecords.stream().filter(record -> record.getPublishStatus().equals(0)).count(); long successNum = allRecords.stream().filter(record -> record.getPublishStatus().equals(1)).count(); long cancelNum = allRecords.stream().f原创 2022-01-16 19:13:18 · 465 阅读 · 0 评论 -
stream流操作数组求元素某个属性的值的和,以及排除null值
求sku里面价格的最小值,最大值把min换成maxComparator<CommonBoxItemDetails.SKUDTO> comparatorPrice = Comparator.comparing(CommonBoxItemDetails.SKUDTO::getPrice); Optional<CommonBoxItemDetails.SKUDTO>optionalMin = itemDetails.getSkuMap() .stream() .filter(k -原创 2022-01-13 22:07:58 · 4054 阅读 · 0 评论 -
java8的stream流获取对象某个属性的最大和最小值
直接上代码//获取 skuMap集合里面LazadaItemDetail.SKUDTO这个对象里面价格的最大值Double maxPrice = skuMap.stream().max(Comparator.comparing(LazadaItemDetail.SKUDTO::getPrice)).get().getPrice();//获取 skuMap集合里面LazadaItemDetail.SKUDTO这个对象里面价格的最小值 Double minPrice = skuMap.stream原创 2021-12-10 17:43:22 · 5555 阅读 · 0 评论 -
根据对象的某个属性去重
/** * 根据对象的某个属性去重 * * @param keyExtractor * @param <T> * @return */ private static <T> Predicate<T> distinctByKey(Function<? super T, Object> keyExtractor) { Map<Object, Boolean> seen = new ConcurrentHashMap<.原创 2021-12-06 20:15:04 · 135 阅读 · 0 评论