在Java中,检查大于和小于的最有效方法是什么?
最有效的检查方法是什么:在Java中,检查大于和小于的最有效方法是什么?,java,compare,Java,Compare,最有效的检查方法是什么: A is scheduled for 4 - 7; B is scheduled for 5 - 8; 上述时间表重叠。在以下示例中,如何在Java中检查A和B是否重叠: 暂时 int start = 4; int end = 7; 为了B 请建议检查是否重叠的最有效方法。 谢谢你如果你只需要一些数据,那么即使只是比较开始和结束也足够快了。然而,如果您处理的是大数据,您可能需要使用其他一些数据结构,比如这里的增强树,以获得一些效率 如果只需使用一些数据,那么即使只是
A is scheduled for 4 - 7;
B is scheduled for 5 - 8;
上述时间表重叠。在以下示例中,如何在Java中检查A和B是否重叠:
暂时
int start = 4;
int end = 7;
为了B
请建议检查是否重叠的最有效方法。
谢谢你如果你只需要一些数据,那么即使只是比较开始和结束也足够快了。然而,如果您处理的是大数据,您可能需要使用其他一些数据结构,比如这里的增强树,以获得一些效率 如果只需使用一些数据,那么即使只是比较开始和结束也足够快。然而,如果您处理的是大数据,您可能需要使用其他一些数据结构,比如这里的增强树,以获得一些效率 最有效的方法是使用。最有效的方法是使用。下面的逻辑应该用于测试重叠。这是一个从结束日期向后工作的负离散检查。其他检查方法是获取一个引用开始时间,如data.getTime()
下面的逻辑应该用于测试重叠。这是一个从结束日期向后工作的负离散检查。其他检查方法是获取一个引用开始时间,如data.getTime()
你现在做得怎么样了?像C类语言一样,没有“特殊”的方法来做这件事——你必须单独测试每个绑定。你有没有一个例子说明你现在正在做什么来克服这个问题?我刚刚比较了A的开头和B的结尾。你现在做得怎么样了?像C类语言一样,没有“特殊”要做到这一点,我们必须单独测试每一个边界。你们有一个例子说明你们现在正在做什么来克服这个问题吗?我刚刚比较了A的开头和B的结尾。
int start = 5;
int end = 8;
private boolean testOverlap(Date sched1Start, Date sched1End, Date sched2Start, Date sched2End) {
//Validate ranges to check if End dates are after start dates
//Overlaps if both schedules end at same time
if(sched1End.equals(sched2End)) return true;
//Get which one ends last
if(sched1End.before(sched2End)) {
//Working backwards sched2 starts after sched1 Ends so they dont overlap
if(sched2Start.after(sched1End) || sched2Start.equals(sched1End)) {
//Doesnt overlap
return false;
}
} else {
//Sched1 ends last
if(sched1Start.after(sched2End) || sched1Start.equals(sched2End)) {
//Doesnt overlap
return false;
}
}
return true;
}