Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,检查大于和小于的最有效方法是什么?_Java_Compare - Fatal编程技术网

在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;
}