jjzjj

deleteCharAt

全部标签

java - 生成字符串所有组合的算法

我在网上找到了一个链接,其中显示了生成字符串所有组合的算法:http://www.mytechinterviews.com/combinations-of-a-string算法复制如下。voidcombine(Stringinstr,StringBufferoutstr,intindex){for(inti=index;i我不明白的是:outstr.deleteCharAt(outstr.length()-1);如果我删除这一行,程序显然不再工作了,但为什么首先需要它呢?我理解我们改变初始字符并递归剩余字符的递归思想,但deleteChar行似乎在逻辑上不适合任何地方。添加outstr

java - deleteCharAt 或 setLength,哪种方法更适合从 StringBuilder/StringBuffer 中删除最后一个字符

在很多情况下,我们需要删除StringBuilder/StringBuffer的最后一个字符。例如,给定一个int[]{1,2,3},实现一个StringtoString(int[]a)方法,用逗号分隔符连接每个元素.输出应为1,2,3,没有尾部逗号。我们可以很容易地写一个循环:int[]nums=newint[]{1,2,3,4,5};StringBuildersb=newStringBuilder();for(inti=0;i但我们总是需要删除尾部','。有两种实现方式:sb.deleteCharAt(sb.length()-1);和sb.setLength(sb.length()

Java CharAt() 和 deleteCharAt() 性能

我一直想知道String/StringBuilder/StringBuffer在java中的charAt函数的实现那有什么复杂性?StringBuffer/StringBuilder中的deleteCharAt()呢? 最佳答案 对于String、StringBuffer和StringBuilder,charAt()是一个常数时间操作。对于StringBuffer和StringBuilder,deleteCharAt()是线性时间操作。StringBuffer和StringBuilder具有非常相似的性能特征。主要区别在于前者是同步