添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

第一种整个对象进行去重处理

import java.time.format.DateTimeFormatter;
import java.util.Collection;
import java.util.stream.Collectors;
import java.util.stream.Stream;
List<OrderAppointmentSales> orderAppointmentSales = obcOrderAppointmentSalesService.getOrderAppointmentSalesList(syncTime);
List<OrderAppointmentSales> orderAppointmentSales2 = obcOrderAppointmentSalesService.getOrderAppointmentSalesListByTime(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS").format(sas.getUpdateTime()));
//将数据list对象合并去重 使用Stream来帮我们完成操作
List<OrderAppointmentSales> ords = Stream.of(orderAppointmentSales, orderAppointmentSales2)
                        .flatMap(Collection::stream)
                        .distinct()
                        .collect(Collectors.toList());

第二种针对指定字段进行去重

List<ShipmentHeader> ords = new ArrayList<>();
ords.addAll(listByWms1);
ords.addAll(listByWms2);
List<ShipmentHeader> studentList = new ArrayList<>(ords.stream()
        .collect(Collectors.toMap(ShipmentHeader::getId, Function.identity(), (oldValue, newValue) -> newValue))
        .values());

Collectors.toMap需要使用三个参数的版本,前两个参数一个是keyMapper函数一个是valueMapper函数的,第三个参数BinaryOperator函数接口。BinaryOperator函数接收两个参数,一个oldValue,一个newValue。用于当key重复时的数据处理

惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。 一代天骄,成吉思汗,只识弯弓射大雕。 俱往矣,数风流人物,还看今朝

groupby python 按照时间的月份排序 python groupby agg

一、 groupby 依据某列分组; groupby 依据多列分组; 二、应用 mean sum count std median size max min等函数聚合数据; 三、transform 不改变数据形状(相当于计算后替换原来的每一个元素) 一、分组 分组功能主要利用pandas的groupby函数。虽然分组功能用其他函数也可以完成,但是groupby函数是相对来说比较方便的。这个函数有很