在一次采访中,我想用一些子字符串构建一个新字符串。我认为这ArrayList<String>与 几乎相同StringBuilder,但面试官说StringBuilder如果我需要处理字符串,我应该总是使用。我认为在它们之间添加/删除函数的时间复杂度是相同的。
3 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
它们根本不是一回事。StringBuilder
构建单个字符串,而ArrayList<String>
只是 - 一个单独的字符串数组。当然,你可以连接所有的数组与字符串String.join("", list)
,其中第一个参数是分离器要使用,但为什么你会走这条路,而不是仅仅使用了专门做一流的正是你想要什么首先要做什么?
牛魔王的故事
TA贡献1830条经验 获得超3个赞
除非您继续需要添加到列表中的单独元素,否则您应该使用 StringBuilder。
毕竟,你不能直接从列表的内容中得到一个连接的字符串:你必须把它放在一个 StringBuilder 中。
但是在构建子字符串字符串的特定情况下,StringBuilder
提供了允许您在String
不使用 s 的情况下附加部分substring
的append(CharSequence, int, int)
方法:该方法是一种优化,以避免创建额外的字符串。
需要说明的是,至少在我写python的时候,已经认为建一个list比较好,然后最后使用''.join(theList)
,基本上就是ArrayList<String>
.
我对 python 了解不够,不知道为什么这被认为特别好。
添加回答
举报
0/150
提交
取消