- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
嗨,我显然仍在尝试学习 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/
我正在尝试将一个旧项目从使用 ArrayList 集合升级到 List。除了转换 ArrayList.BinarySearch 之外,一切都非常顺利。虽然 List 有相应的方法,但 ArrayLis
问题 我想自己在 Klant 的对象上实现 BinarySearch 方法,我该怎么做?Klant 有一些变量。 public class Klant { public String klantID;
这个问题在这里已经有了答案: How do I compare strings in Java? (23 个回答) 5年前关闭。 我是 java 的新程序员,我正在尝试使用 binarySearch
我正在尝试在 F# 中实现一个简单的二进制搜索,作为学习函数式编程的一种方式。我已经在我的主要语言 C# 中以命令式方式实现了它,但我认为通过在 F# 中以递归方式实现它,这将是一个很好的挑战,也是学
我有三个长度为 9 的字符串数组,我想看看它们是否都包含相同的名称。我必须在线性时间 O(NlogN) 内完成此操作。我的计划是对两个数组进行排序,然后使用二进制搜索来查找相似的名称。我的代码就像这样
我使用 xpath 从 xml 文件中填充了一个排序的日期列表(以 dd/mm/yyyy 格式存储为字符串)。 然而,当查询列表以查看列表中是否存在某个日期时,我总是得到否定结果(即不存在),即使我已
我正在开发一个 Java 项目 BinarySearch。我正在尝试创建并初始化一个变量 mid ,它将找出中间值,但它给我一个错误,你不能在这里声明一个变量。我也用 split 声明尝试过,但没有用
我是一名 Java 初学者,我正在尝试编写二进制搜索算法的实现代码。 这是我的代码: protected int doSearch(List list, int key) throws Sea
所以基本上,我知道对有序列表执行二进制搜索只是为了它起作用,所以这是我正在使用的列表: Integer[] x = {1, 2, 3, 4, 5, 6}; 所以基本上它可以找到一个整数,但是当我输入一
正如标题所暗示的,我正在编写一些代码来执行 Java 版本的二分搜索。但是,我的返回语句被忽略,函数反而返回最后一个“捕获所有”返回语句,如下所示: public int binarySear
我应该如何使用二进制搜索来查找排序数组中相邻数字之间的距离是否大于 N?例如: Input: 2 5 8 11 16 Distance: 4 所以我们应该得到邻居之间有这样的距离的答案。 (11 到
所以我想写一个代码来返回键所在的索引,或者如果它不存在,它应该在哪里。我错过了什么?min 为 0,max 为 size - 1,buf 已排序 int binarySearch(string buf
当我尝试编写以下行时: int foundIndex = Collections.binarySearch(keys, key); 它显示错误:参数化方法binarySearch(List>, K)类
function binarySearch(items, target){ var startIndex = 0, stopIndex = items.length-1, middle = Math.
尝试用 Java 编写 Python 风格的 bisect_right,并使用 List 参数的泛型类型: import java.util.*; class Util { /* eqv to
我又遇到了一些关于列表和二进制搜索的问题。一般来说,我有: type TMyArr = array [1..5] of Integer; PMyList = record Com
我正在尝试使用 java.util.Arrays 类的二分搜索(不区分大小写),但它无法搜索指定数组中存在的字符串。以下是程序: package com.test; import java.util.
这不起作用: List byteArrayList = .... ; Collections.binarySearch(byteArrayList, new ByteArrayComparator()
嗨,我正在制作一个程序,该程序采用一系列“术语”,每个术语都有自己的权重(长值)和查询(字符串值)。它应该从 .txt 文件中获取许多术语并将它们初始化为私有(private)“Terms”数组,然后
我很想知道当我使用 Arrays.binarySearch 而不进行排序时得到的答案背后的逻辑是什么。 int d[]={6,-4,12,0,-10}; int x=12; int y=Arrays.
我是一名优秀的程序员,十分优秀!