当前位置: 首页 > 面试题库 >

java:使用StringBuilder插入开头

华谭三
2023-03-14
问题内容

我只能用String来做到这一点,例如:

String str="";
for(int i=0;i<100;i++){
    str=i+str;
}

有没有办法用StringBuilder做到这一点?谢谢。


问题答案:
StringBuilder sb = new StringBuilder();
for(int i=0;i<100;i++){
    sb.insert(0, Integer.toString(i));
}

警告: 它违背了的目的StringBuilder,但确实满足您的要求。

更好的技术 (尽管仍然不理想):

  1. 反转要插入的 每个 字符串。
  2. 每个字符串 附加StringBuilder
  3. 完成后反转 整个 StringBuilder过程

这将打开一个O( ñ ²)溶液到O( Ñ )。



 类似资料:
  • 问题内容: StringBuilder在Java中,通常最好使用a 进行字符串连接。总是这样吗? 我的意思是:创建对象,调用方法并最终已经很小,然后将现有字符串与+运算符连接成两个字符串的开销是小的,还是建议仅用于两个以上的字符串? 如果有这样的阈值,它取决于什么(也许是字符串长度,但以哪种方式)? 最后,你是否会以+级联的可读性和简洁性为代价,以较小的情况(例如两个,三个或四个字符串)的性能为代

  • 问题内容: 输出是 只是对.equals有一个简单的问题。 不管对象内容如何,仅当两个对象引用都指向同一对象时才返回true吗? 编辑 :现在我了解有关的部分,但是为什么2号线和3号线也不会返回? 编辑 :我相信看参考变量的地址,因此s1和s2不能相等。如果我的假设不正确,请纠正我 问题答案: 是,,这意味着两个对象引用不同,结果为false。 对于,您可以使用 为了进行编辑,您要在两个不同的St

  • 问题内容: 我是第一次遇到,很惊讶,因为Java已经具有一个非常强大的类,可以追加。 为什么要上第二堂课? 在哪里可以了解更多信息? 问题答案: 不允许附加。你在上调用的每个方法都会创建一个新对象并返回它。这是因为String它是不可变的-无法更改其内部状态。 另一方面是可变的。调用时,它会更改内部char数组,而不是创建新的字符串对象。 因此,拥有: 而不是,这将创建500个新的字符串对象。 请

  • 我正在为BST开发一个递归插入方法。假定该函数是一个递归辅助方法,并且位于名为Node的私有类中。节点类位于名为BinarySearchTree的类中,该类包含根的实例变量。当我尝试插入一个元素时,我在以下位置得到一个NullPointerException: 这左=插入((节点)左)。元素); 我不确定为什么会发生这种情况。如果我理解正确,在BST中,我假设将项目插入到所横穿路径的最后一点。感谢

  • 公共类TestMyStringBuilderII{ } sb3=new StringBuilder(null)将导致NullPointerException。现在,StringBuilder()、StringBuilder(“”)和StringBuilder(null)之间有什么区别? 我不确定这个问题的表述是否正确,但如果有人能理解我在这里的想法/困惑,并澄清一下这些,我将非常感激。