声明一个变量用来存取将要获取的距离现在最近的某实体类的一属性值,并将list的第一个属性值赋值给它。
获取这个list的第一个实体类,即下标为0的实体类,然后再循环这个List,
从第i个循环与第i+1个的实体类属性的创建日期属性相比较。
如果第i个的创建日期的getTime()小于第i+1个的创建日期的getTime(),则将大的即举例现在最近的赋值给最开始声明的变量。
代码实现:
List<WmsReceiveOrderDetails> receiveOrderDetailList = receiveOrderDetailsMapper.selectList(receiveOrerDeatilsWrapper);
if(receiveOrderDetailList!=null){
String materialNumber = receiveOrderDetailList.get(0).getMaterielNumber();
for (int i =0;i+1<receiveOrderDetailList.size();i++){
if(receiveOrderDetailList.get(i).getGmtCreat().getTime() < receiveOrderDetailList.get(i+1).getGmtCreat().getTime());
materialNumber=receiveOrderDetailList.get(i+1).getMaterielNumber();
场景有一实体类的List,获取这条List中的创建日期属性离现在最近的一个实体的某个编号属性。实现思路:声明一个变量用来存取将要获取的距离现在最近的某实体类的一属性值,并将list的第一个属性值赋值给它。获取这个list的第一个实体类,即下标为0的实体类,然后再循环这个List,从第i个循环与第i+1个的实体类属性的创建日期属性相比较。如果第i个的创建日期的getTim...
public void findIpLoginHistoryInfo() {
List<IpLoginHistoryEntity> list = ipLoginHistoryDao.listFindByDepUserId("1253516802359721985");
IpLoginHistoryEntity resulEntity = new IpLoginHistoryEntity();
Long dates[
对于有序的集合,可以使用二分查找算法,该算法的时间复杂度为 O(log n)。
对于无序的集合,可以使用遍历集合中的所有元素,并计算每个元素与目标元素之间的差值,找出差值最小的元素。这种方法的时间复杂度为 O(n)。
示例代码:
List<Integer>list = Arrays.asList(1, 3, 5, 7...
list集合分组后按时间排序取最近的一条记录
集合按照id进行分组后,按照时间顺序取最近一条记录
List<Documnet> list = new ArrayList();
Map<String, Document> map = list.parallelStream().collect(Collectors.groupingBy(data -> data.getString("id"),
Collectors.colle
工作上的场景,简单记录一下:
在这里直接借用业务上的list,不再new 了。
List<AlarmStatisticsListOutput> alarmList = spareAlarmStatisticsMapper.selectAlarmStatistics(unitIdList);
根据对象中的某个字段分组,得到重复数据,在这里用了对象中的一个字段spareId
Map<String, List<AlarmStatisticsListOutput>> grou
1.经常会遇到对组装的list排序或提取list中前几条数据,例如:
根据时间排序:
1 list.sort((o1, o2) -> o2.getCreateTime().compareTo(o1.getCreateTime()));
取list前几条数据:
1 List newList = list.subList(start,end);
start, end 指从第几个开始到第...