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

Java CharAt()和deleteCharAt()性能

邵博远
2023-03-14
问题内容

我一直想知道java中String / StringBuilder / StringBuffer的charAt函数的实现是什么?还有StringBuffer
/ StringBuilder中的deleteCharAt()呢?


问题答案:

对于StringStringBufferStringBuildercharAt()是恒定时间的运算。

对于StringBufferStringBuilderdeleteCharAt()是线性时间运算。

StringBufferStringBuilder具有非常相似的性能特征。主要区别在于前者是synchronized(因此是线程安全的)而后者则不是。



 类似资料:
  • 问题内容: 由此产生的数据集只应delimters之前显示的字符串,并以正确的顺序。程序包中已经存在的“当前查询”是这样的(DDL和DML在帖子的底部): 哪些结果会生成以下数据集: PS。 我只需要专栏,但我也包括其他专栏,但确实添加了上下文。 我发现查询有点混乱并且难以阅读,因此我尝试使用@vkp并提出了建议,我想出了以下查询,结果与上面的数据集相同。 然而,从@ MathGuy的答案,似乎和

  • null 我已经用WebFlux-WebClient、Ratpack和Lagom测试了当前(阻塞)Spring boot client(tomcat)、Spring boot 2.0(netty)。在每种情况下,我都强调了客户机应用程序通过gatling测试简单场景(100-1000个用户/秒)。 我已经测试了ratpack和lagom作为参考非阻塞io服务器,以便将结果与spring boot(

  • 本文档提供的技术与工具概述,有助于使您的Django代码更高效,更快速,并使用更少系统资源。 简介 通常,人们首先关心的是编写的代码起作用,其逻辑函数根据需要产生预期输出。然而,有时,这将不足以使代码像我们希望的那样有效地工作。 Generally one’s first concern is to write code that works, whose logic functions as r

  • 属性与Java中的字段是相同的,但是更加强大。属性做的事情是字段加上getter加上setter。我们通过一个例子来比较他们的不同之处。这是Java中字段安全访问和修改所需要的代码: public class Person { private String name; public String getName() { return name; }

  • 由于事件处理程序可以为现代Web 应用程序提供交互能力,因此许多开发人员会不分青红皂白地向页面中添加大量的处理程序。在创建GUI 的语言(如C#)中,为GUI 中的每个按钮添加一个onclick事件处理程序是司空见惯的事,而且这样做也不会导致什么问题。可是在JavaScript 中,添加到页面上的事件处理程序数量将直接关系到页面的整体运行性能。导致这一问题的原因是多方面的。首先,每个函数都是对象,

  • ObQuote... "One serious obstacle to the adoption of good programming languages is the notion that everything has to be sacrificed for speed. In computer languages as in life, speed kills." — Mike Vani