在java中,如何在对象数组中应用二进制搜索?

在java中,如何在对象数组中应用二进制搜索?,java,mysql,Java,Mysql,我已经获取了对象数组中表的内容。对象将表COUNTRYCODES的列保存到自己的数据成员中,这些数据成员的名称是、startingRange、endingRange和countryCode 实际上,该表描述的是与表的起始范围和结束范围相对应的国家代码。现在,我将这个表存储在一个名为countryCodes[]的对象数组中。我需要从数组中搜索国家代码,给出一个范围,该范围可以在任何范围之间(即任何起始范围和结束范围之间) 为此,我想使用二进制搜索,因为我不想逐个位置搜索countrycode位置。

我已经获取了对象数组中表的内容。对象将表COUNTRYCODES的列保存到自己的数据成员中,这些数据成员的名称是、startingRange、endingRange和countryCode

实际上,该表描述的是与表的起始范围和结束范围相对应的国家代码。现在,我将这个表存储在一个名为countryCodes[]的对象数组中。我需要从数组中搜索国家代码,给出一个范围,该范围可以在任何范围之间(即任何起始范围和结束范围之间)

为此,我想使用二进制搜索,因为我不想逐个位置搜索countrycode位置。为了尽量减少搜索工作,我想使用二进制搜索。 请帮我指引方向


谢谢。

你的问题有点模糊,但你能做的是:


假设数组已经排序,您可以使用该机制对数组执行二进制搜索。

什么是countryCodes、startingRange、endingRange?他们的数据类型是什么?您是否考虑过使用db查询来检索那些国家代码与您的搜索相同的元素?通过将您的查询与您的搜索合并,可能会使其更高效。