Java中String.split和StringUtils.split性能比较
问题背景
最近,在处理高维数组的运算时,需要从txt中读取文本,并使用split()函数将每一个行的文本转化成数组。如下所示:
1.0 0.0 0.0 0.0 0.0 0.0 0.0 …
由于该数组的维度高,最开始直接使用的是String.split()函数做处理,但运行速度过慢。后面,使用StringUtils.split()函数做替代。
下面来比较这一些函数的效率。
效率比较
StringUtils.split()来自于Apache Commons Lang库,可通过下面的网址下载:
https://mvnrepository.com/artifact/org.apache.commons/commons-lang3/3.10
如下为测试程序:
package sparsetest;import org.apache.commons.lang3.StringUtils;public class Test {public static void main(String[] args) {int N = 10000;StringBuilder sb = new StringBuilder();for (int i = 0; i < N; i++) {sb.append("0.0 ");}String s = sb.toString();long startTime = System.currentTimeMillis(); //获取开始时间for (int i = 0; i < 1000; i++) {String[] cS = s.split(" ");}long endTime = System.currentTimeMillis(); //获取结束时间System.out.println("split耗时:" + (endTime - startTime) + "ms"); long startTime1 = System.currentTimeMillis(); for (int i = 0; i < 1000; i++) {String[] cS1 = StringUtils.split(s," "); }long endTime1 = System.currentTimeMillis(); System.out.println("StringUtils split耗时:" + (endTime1 - startTime1) + "ms");}}
执行该程序控制台输出结果为:
Java中String.split和StringUtils.split性能比较相关推荐
- Java中String字符串截取几种方法(substring,split)
Java中String字符串截取几种方法 substring,split 这是一个Java中的String的基础用法的演示. 下面通过代码对大家进行讲解 substring 这里用来ndexOf,la ...
- JAVA中String的split方法
我的个人网站: http://riun.xyz 以下源码版本:JDK1.8 简介 Java 中 String 的 split 方法可以将字符串根据指定的间隔进行切割,例如字符串 str = " ...
- Java中String对象的replaceAll方法调用性能优化小技巧
Java中String对象的replaceAll方法调用性能优化小技巧 0x01 Java中String对象的replaceAll方法调用性能优化小技巧 1.1 What? 1.2 Why? 1.3 ...
- java中String的常用方法
java中String的常用方法 1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len ...
- Java中String类的方法及说明
String : 字符串类型 一.构造函数 String(byte[ ] bytes):通过byte数组构造字符串对象. String(char[ ] value):通过char数 ...
- 【转载】Java中String类的方法及说明
转载自:http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html String : 字符串类型 一.构造函数 String ...
- Java中String 字符串与List<String>互转
Java中String 字符串与List互转 大家好,我是酷酷的韩~ 1.String转List public static void main(String[] args) {String aa = ...
- Java中String是个什么类型?
Java中String是个什么类型 Java中的八大基本数据类型 String 是个什么类型 String常见的方法 Java中的八大基本数据类型 面试官的套路 Java中的数据类型分为四类 1.整型 ...
- 在Java中使用final关键字可以提高性能吗?
本文翻译自:Does use of final keyword in Java improve the performance? In Java we see lots of places where ...
- java中String相等问题
判断两个字符串是否相等的问题.在编程中,通常比较两个字符串是否相同的表达式是"==",但在java中不能这么写.在java中,用的是equals(); 例:A字符串和B和字符串比较 ...
最新文章
- Asp.net 用户控件和自定义控件注册
- JZOJ 4.1 B组 删数
- 利用IShellExecuteHook接口对程序监控
- 瞿菡云计算机,“国家资助 伴我成长”——我校学生王丽娜、肖云菡荣获中职教育“国家奖学金”事迹材料...
- 大数据集群部署时ssh的公钥和似钥作用汇总
- HTML+CSS+JS实现 ❤️3D方块弹跳动画特效❤️
- Linux: xclip,pbcopy,xsel用法 terminal 复制粘帖 (mac , ubuntu)
- 深度优先搜索算法的通用解法
- 【揭秘】我几乎面了所有知名公司的算法岗位
- Hadoop完全分布式 小bug -no.1 为啥我的集群只显示一个datanode!
- java给文件777权限_一次心惊肉跳的服务器误删文件的恢复过程
- 调试Javascript代码(浏览器F12)
- word 文档规范,比如标题、正文的字号
- 实验五 集线器和交换机的区别
- 【项目实践】DCGAN绘制理想女朋友照片实践,从爬虫到生产女友
- 《秘密》之你的秘密和生命的秘密
- 电商APP的流量及用户运营分析
- 百度CEO李彦宏为何这么拼
- 智云通CRM:如何发现高附加值客户,让他们直接按原价购买?
- cam、ts、tc、scr等电影版本标识的解析及区别(中英文对照版)
热门文章
- TypeScript 元组(Tuple)
- DataX离线数据同步工具/平台
- Oracle数据恢复、数据库恢复、灾难恢复专题
- Windows下的包管理工具scoop
- C、C++和C#区别概述
- 【熊猫多模式站群开发日志】流程总览
- 封装 Vue.js 组件库
- C#LeetCode刷题之#575-分糖果​​​​​​​(Distribute Candies)
- houdini_通过卡通了解CSS Houdini的指南
- macos必做的设置_如何在MacOS上设置PHP,CaddyServer和Kirby —以及为什么要这样做