gpt4 book ai didi

java - Java中的字符串二分查找

转载 作者:行者123 更新时间:2023-12-01 16:49:10 25 4
gpt4 key购买 nike

我正在学习在 Java 中使用二分搜索。在整数列表中,它返回预期的索引,但在 char 或字符串列表(代码示例)中,它返回负索引,这不是预期的(索引 = -4)。

List<String> str = new ArrayList<>();
str.add("Hey");
str.add("Hi");
str.add("Bye");
int index = Collections.binarySearch(str,"Hi");
System.out.println(index);

最佳答案

二分查找的前提是:底层数据必须排序

因此,首先对该列表进行排序

然后您要检查该方法返回的索引是否在 0 和列表的 size() 之间。期望可以在列表中找到任何字符串并返回非零索引,这有点天真。

除此之外;这里的 真正答案是:不要盲目地使用内置功能。阅读其 javadoc 首先了解此方法正在做什么,例如:它将返回给您什么值!

关于java - Java中的字符串二分查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43975770/

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