gpt4 book ai didi

java - int binarySearch 数组列表

转载 作者:太空宇宙 更新时间:2023-11-04 14:59:57 26 4
gpt4 key购买 nike

嗨,我显然仍在尝试学习 java,但在网站上找不到答案。

基本上我应该添加一个新的私有(private)通用方法,称为binarySearch

该方法应该实现递归二分搜索算法,它会查找姓氏字段的值与 searchLastName 方法参数中传递的值具有相同值的元素。

但是,我认为我是正确的,但我在 .get 上都遇到错误(错误:找不到符号)

private static < E extends People > int binarySearch(ArrayList<E> list, int first, int     last, String searchLastName)
{
int middle;


if(first > last )
return -1;

middle = (first + last) /2;

if (list.get.compareTo(searchLastName))
{
return middle;
}
else if (list.get.compareTo(searchLastName) > last)
{
return binarySearch(list, middle + 1, last, searchLastName);
}

else return binarySearch(list, first, middle - 1, searchLastName );

最佳答案

查找 ArrayList从文档中可以很容易看出,此类不包含任何名为 get字段。编译器将此字段解释为它找不到的符号。为了更正您的代码使用正确的方法签名:

...
if (list.get (someIndex).compareTo (searchLastName) )
...

某个索引是您要访问的元素的索引。我不想让你注意到 something 是一个字段,something () 是一个方法。

我确信您对原始数据类型数组有一些经验。您还记得如何从数组中获取元素吗?

int a  = someArray [someNumber]; // 0 <= someNumber < someArray.length

ArrayList#get ()方法的工作原理类似。

关于java - int binarySearch 数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22703737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com