java - 在java端查找重叠记录
问题描述
HashMap<ItemNo, List<Price>>
在我的应用程序中有一个地图。每个项目没有很多价格区间。每个价格区间都有 FROM_DTIME、TO_DTIME。需要通过编写java逻辑找到所有具有重叠区间的价格对象。示例重叠间隔如下,第二个间隔应在第一个间隔完成后开始,即 01-SEP-19。但它始于 19 年 8 月 8 日。
我尝试如下,
for (int i = 0; i < vGroupedByItemNoMap.get(itemNo).size(); i++) {
Price vCurrent = vGroupedByItemNoMap.get(itemNo).get(i);
Price vNext = (i == 0 ? null : vGroupedByItemNoMap.get(itemNo).get(i + 1));
DateTime vCurrentTodate = vCurrent.getToDate().plusSeconds(1);
if (vNext != null) {
DateTime vNextFromdate = vNext.getFromDate();
if (vCurrentTodate != vNextFromdate) {
vOverlappedItemNoList.addAll(vGroupedByItemNoMap.get(itemNo));
log.info(
"Prices having Overlapping and [ItemNos ={}] are not processed.",vOverlappedItemNoList);
break;
}
}
}
任何人都可以在这里帮助我如何找到这样的重叠间隔。
解决方案
推荐阅读
- javascript - Firebase 函数仅在 Firebase 实时数据库中设置第一个值
- codeigniter - CodeIgniter 应用程序链接不起作用
- mysql - MySQL执行顺序
- php - SwiftMessage:配置utf8地址编码器的简单方法
- sql - 如何选择 SQL Query 的第二行或第三行
- c# - 有没有办法在 C# 中存储指向属性的指针?
- android - 如何检查来自 url 的空响应
- microsoft-teams - 在 Microsoft 团队中看不到创建传出 webhook 选项
- ios - UICollectionViewCells 内的 UITableviews
- javascript - 从 GeoJson 集合中提取属性和唯一值