jjzjj

java - Collections.binarySearch() 与 List indexOf()

我有一个包含超过37K项的列表,并且我已经实现了hashCode()、equals(),所以我想知道Collections.binarySearch()可以帮助提高性能并且比indexOf()方法更快。 最佳答案 如果您的集合已排序,binarySearch()将是O(logn)而不是indexOf()的O(n),您肯定会看到一个改进。 关于java-Collections.binarySearch()与ListindexOf(),我们在StackOverflow上找到一个类似的问题:

c# - IndexOf 方法在 C#/Java 中应该返回 -1 时返回 0

我的一个friend带着我无法解释的这种奇怪的行为来找我,任何有见识的观点都将不胜感激。我正在运行VS2005(C#2.0),下面的代码显示了行为intrr="test".IndexOf("");Console.WriteLine(rr.ToString());上面的代码,打印“0”,清楚地表明它应该返回-1这也发生在Java中,其中以下类显示了行为:publicclassTest{publicstaticvoidmain(String[]args){System.out.println("Result->"+("test".indexOf("")));}}我正在运行Java1.6.0

java - 测试 indexOf 返回值的最佳实践

当你测试indexOf的返回值时,你通常会写什么?ifstr.indexOf("a")对比ifstr.indexOf("a")==-1一种方法优于另一种方法吗?我实际上是针对错误时返回-1的任何语言的任何函数提出这个问题。我通常更喜欢但是,我注意到==-1方法更常用。有什么原因吗? 最佳答案 我尝试实现“错误条件”测试应尽可能广泛的一般原则。因此我会使用而不是==-1.这是我在CS学位类(class)中以形式化方法教授的原则。关于一个简单的if这无关紧要,但在循环中,重要的是要检测任何“超出范围”的条件以确保循环终止,而不是假设循环

Java:使用indexOf方法基于另一个数组对数组进行排序

我想根据另一个数组(索引)的排序顺序遍历两个数组(A、B),在本例中为10、34、32、21。String[]A:a,b,c,dString[]B:e,f,g,hint[]indexes:10,34,32,21Apologyforthebadexamplehere.Ihaveupdatedtheindexesarraytocleartheconfusion.预期的输入和输出输入是三个数组。我想使用索引数组的排序来遍历A、B。即我想找到一种方法来使用顺序(a,d,c,b)迭代A并使用顺序(e,h,g,f)迭代B我的方法:我用我认为与另一种方法相同的解决方案解决了这个问题。但是,第二种方法

java - 为什么方法 String.indexOf 不是接口(interface) CharSequence 的一部分?

我看不出制作String.indexOf有任何缺点部分界面CharSequence.好处是其他类(如StringBuffer或StringBuilder)也需要实现indexOf方法。那么indexOf应该只是String的一部分有什么设计上的原因吗?谢谢。 最佳答案 我不确定这是什么原因,但我可以举一个实现CharSequence的类的示例。它是java.nio.CharBuffer。理论上可以通过循环调用charAt()来实现indexOf()。但它不会像用户期望的那样工作。我们无法区分两种情况:性格还没有和性格不存在也不会存在

java - 在包含字符串的 ArrayList 中查找索引

通过使用Jsoup,我从网站解析HTML以使用我需要从网站获取的内容填充ArrayList。所以现在我有一个用字符串填充的ArrayList。我想在该列表中找到包含特定字符串的索引。例如,我知道列表中某处的某个索引中有字符串(文字)“Claude”,但我似乎无法编写任何代码来找到包含“Claude”的索引"在ArrayList中...这是我尝试过但返回-1(未找到)的方法:ArrayListlist=newArrayList();Stringclaude="Claude";Documentdoc=null;try{doc=Jsoup.connect("http://espn.go.co

java - Java indexOf(蛮力法)对我或其他一些子串算法会更实用吗?

我正在研究如何在许多短文本行(haystack)中找到非常短的子字符串(pattern、needle)。但是,我不太确定在幼稚的蛮力方法之外使用哪种方法。背景:我正在做一个有趣的副项目,我收到多个用户的短信聊天记录(从2000-15000行文本和2-50个用户的任何地方),我想找到所有各种模式匹配根据我想出的预定词在聊天记录中。到目前为止,我正在寻找大约1600种模式,但我可能会寻找更多。例如,我想找出平均短信日志中使用的食物相关词的数量,例如“汉堡包”、“比萨饼”、“可乐”、“午餐”、“晚餐”、“餐厅”》、《麦当劳》。虽然我给出了英语示例,但实际上我会在我的程序中使用韩语。这些指定的

java - ArrayList indexOf 复杂度是 N 吗?

我在arraylist中有N个数字。要获取indexOf,arraylist最多需要迭代N次,因此复杂度为O(N),对吗? 最佳答案 来源JavaAPI是的,复杂度是O(N)。size、isEmpty、get、set、iterator和listIterator操作在恒定时间内运行。添加操作以摊销常数时间运行,即添加n个元素需要O(n)时间。所有其他操作都以线性时间运行(粗略地说)。与LinkedList实现相比,常数因子较低。 关于java-ArrayListindexOf复杂度是N吗?

java - 为什么 string.indexOf 方法的参数在 Java 中是一个 int

我想知道为什么indexOf方法的参数是int,而描述是char。公共(public)intindexOf(intch)Returnstheindexwithinthisstringofthefirstoccurrenceofthespecified**character**http://download.oracle.com/javase/1,5.0/docs/api/java/lang/String.html#indexOf%28int%29Also,bothofthesecompilesfine:charc='p';str.indexOf(2147483647);str.inde

TypeScript算法基础——TS字符串的常用操作总结:substring、indexOf、slice、replace. . .

在TypeScript中,字符串的常用操作可以使用以下方法来实现:常用substring(startIndex:number,endIndex?:number):string:返回从startIndex开始到endIndex(不包括)之间的子字符串。如果省略endIndex,则返回从startIndex到字符串末尾的子字符串。conststr="Hello,World!";constsubStr=str.substring(7,12);//"World"indexOf(searchValue:string,startIndex?:number):number:返回searchValue在字符串