计算字符串中的某个字符(Java)

Mr *_*ooL 2 java string

String a ="(Yeahhhh)我终于把它变成了(顶部)";

给定上面的String,共有4个'('和')'.

我计算它的想法是利用String.charAt方法.但是,这种方法相当慢,因为我必须为每个字符串执行此计数至少10000次,因为我的项目的性质.

任何人都有比使用.chartAt方法更好的想法或建议?????

很抱歉没有在前面清楚地解释,我10000次的意思是分析10000个句子,这是上面的字符串a只作为一个句子.

Mar*_*ell 6

听起来像是家庭作业,所以我会尽量保持"朝着正确的方向努力".

如果您删除了所有字符而不是您要查找的字符,并查看该字符串的长度,该怎么办?

有一个String方法可以帮助你解决这个问题.


Boz*_*zho 6

StringUtils.countMatches(wholeString, searchedString)(来自commons-lang)

searchedString 可能是一个字符 - "("

它(如评论中所述)charAt(..)多次呼叫.但是,复杂性是多少?好吧,它的O(n)- charAt(..)有复杂性O(1),所以我不明白你为什么觉得它很慢.