如何在另一个类的List的一个字段上执行二进制搜索?

时间:2014-03-22 17:58:36

标签: java class methods

我将输入日期与假期列表进行比较。

假日对象由一个带有名称和jodatime Datetime的字符串组成。

在Holidays课程中,我有:

public static List<Holiday> getAllHolidays() {
    return allHolidays;
}

在我的班级,我有:

public static boolean isHoliday(List<Holiday> holidayList, DateTime date) {
    if(Collections.binarySearch(holidayList.date, date)) {
        return true;
    }
    return false;

这就是我遇到的问题&#34;日期无法解决或不是字段&#34;

目标是能够按如下方式访问isHoliday方法:

isHoliday(Holidays.getAllHolidays(), hearingDate)

我能够使用for循环搜索来实现这一点,但我正在尝试使用二进制搜索,因为它是一个排序列表。

1 个答案:

答案 0 :(得分:0)

这是holidayList.date是什么? (这是List而不是Holiday对象)

使用迭代器并迭代到Holidays中存在的所有List,并检查日期是否与输入日期匹配。