社区
Java
帖子详情
比StringTokenizer效率更高?
大胖子zxy
2019-09-04 03:20:06
String tmp = new String(x);
while (true) {
String subString = null;
int index = tmp.indexOf(",");
if (index < 0) {
break;
}
subString = tmp.substring(0, index);
tmp = tmp.substring(index + 1);
} 看见许多人都说上面这段代码效率高,但经过我n遍测试,怎么都比split低n倍
...全文
177
10
打赏
收藏
比StringTokenizer效率更高?
String tmp = new String(x); while (true) { String subString = null; int index = tmp.indexOf(","); if (index < 0) { break; } subString = tmp.substring(0, index); tmp = tmp.substring(index + 1); } 看见许多人都说上面这段代码效率高,但经过我n遍测试,怎么都比split低n倍
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
木见告
2021-01-06
打赏
举报
回复
这段怎么可能比split快,它每次循环都复制了N-1个元素,一套循环下来,复杂度差不多是(n^2/2),而split一套循环下来复杂度只有O(n)
wowpH
2019-09-05
打赏
举报
回复
按他的意思,应该是split快些
wowpH
2019-09-05
打赏
举报
回复
是我太low。。 我看到一篇博客。 《Java 代码优化:为什么有人说 StringTokenizer 会比String.split() 的效率高呢?他测试了吗?》, 一起来围观吧 https://blog.csdn.net/qq_27093465/article/details/92612980?utm_source=app
大胖子zxy
2019-09-05
打赏
举报
回复
时间对比,self是上面这段程序的时间: StringTokenizer: 0.019 split: 0.012 self: 12.549 StringTokenizer: 0.004 split: 0.004 self: 10.389 StringTokenizer: 0.004 split: 0.007 self: 10.812 StringTokenizer: 0.003 split: 0.002 self: 10.809 StringTokenizer: 0.003 split: 0.002 self: 10.64 StringTokenizer: 0.003 split: 0.002 self: 10.292 StringTokenizer: 0.003 split: 0.002 self: 10.585 上面这段程序效率慢n倍,是我写错了还是什么啊
大胖子zxy
2019-09-05
打赏
举报
回复
引用 2 楼 wowpH 的回复:
分割字符串我一般都用split,主要是方便
如果是字符串数量少的情况下,split确实方便,一般大量用StringTokenizer效率高,我不明白的是为啥这么多人说上面那段代码效率比这两个自带函数高,关键是我测出的情况截然相反啊
大胖子zxy
2019-09-05
打赏
举报
回复
StringTokenizer效率比split高
大胖子zxy
2019-09-05
打赏
举报
回复
貌似确实,split效率更高,消耗的cpu时间也低。。。好吧,坑。。。
浪费七年时间
2019-09-05
打赏
举报
回复
StringTokenizer注释里说了,新代码不推荐使用这个类,可以用String的split或者Pattern的split Thinking in Java里还用Scanner指定分隔符正则表达式来扫描字符串
wowpH
2019-09-04
打赏
举报
回复
分割字符串我一般都用split,主要是方便
wowpH
2019-09-04
打赏
举报
回复
Eeee,所以跟标题什么关系。
Java程序开发教学课件:06-Java标准类库1.ppt
在多线程环境中,由于`StringBuffer`是线程安全的,所以在并发修改字符串时,推荐使用`StringBuffer`,而在单线程环境中,为了性能考虑,可以使用非线程安全但
效率
更高
的`StringBuilder`。 `
StringTokenizer
`类则是...
Java 代码优化常见注意点
`
StringTokenizer
`类提供了一种更安全、
效率
更高
的方式来处理字符串分隔。 3. **StringBuffer的初始化** - 使用`StringBuffer`时,明确指定其初始容量,可以避免在字符串增长过程中频繁的内存重分配和拷贝,从而...
java 字符串分割的三种方法(总结)
与 `split()` 相比,`
StringTokenizer
` 的
效率
更高
,尤其是在处理大量数据时。 ### 第三种方法:`indexOf()` 和 `substring()` 结合 这种方法利用 `indexOf()` 查找分隔符的位置,然后使用 `substring()` 截取子...
matlab开发-Stok
stringtokenizer
公司.zip.zip
如果`Stok
StringTokenizer
`是一个用户自定义的函数,那么它可能提供了
更高
级的分隔功能,比如支持正则表达式分隔,或者具有更灵活的控制选项。由于没有具体的函数定义,我们无法深入讨论其用法和实现细节,但可以...
Java中关于处理字符的方法集合.doc
这是基础的数组比较方式,但在Java 8及
更高
版本中,可以使用`Arrays.equals()`方法来简化这一过程,它会自动进行数组内容的比较。 除了上述方法,Java `String`类还提供了许多其他实用的方法,如`length()`获取字符...
Java
51,410
社区成员
85,980
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章