为了账号安全,请及时绑定邮箱和手机立即绑定

StringBuilder 和 ArrayList<String> 有什么区别?

StringBuilder 和 ArrayList<String> 有什么区别?

大话西游666 2021-12-01 14:32:46
在一次采访中,我想用一些子字符串构建一个新字符串。我认为这ArrayList<String>与 几乎相同StringBuilder,但面试官说StringBuilder如果我需要处理字符串,我应该总是使用。我认为在它们之间添加/删除函数的时间复杂度是相同的。
查看完整描述

3 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

它们根本不是一回事。StringBuilder构建单个字符串,而ArrayList<String>只是 - 一个单独的字符串数组。当然,你可以连接所有的数组与字符串String.join("", list),其中第一个参数是分离器要使用,但为什么你会走这条路,而不是仅仅使用了专门做一流的正是你想要什么首先要做什么?


查看完整回答
反对 回复 2021-12-01
?
冉冉说

TA贡献1877条经验 获得超1个赞

这一切都归结为内存消耗。String是一个对象,虽然ArrayList<String>持有不同的对象,但StringBuilder只持有一个。


查看完整回答
反对 回复 2021-12-01
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

除非您继续需要添加到列表中的单独元素,否则您应该使用 StringBuilder。

毕竟,你不能直接从列表的内容中得到一个连接的字符串:你必须把它放在一个 StringBuilder 中。

但是在构建字符串字符串的特定情况下,StringBuilder提供了允许您在String不使用 s 的情况下附加部分substringappend(CharSequence, int, int)方法:该方法是一种优化,以避免创建额外的字符串。


需要说明的是,至少在我写python的时候,已经认为建一个list比较好,然后最后使用''.join(theList),基本上就是ArrayList<String>.

我对 python 了解不够,不知道为什么这被认为特别好。


查看完整回答
反对 回复 2021-12-01
  • 3 回答
  • 0 关注
  • 301 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信