import java.util.StringTokenizer;

public class SplitDemo {
//jdk8
public static void main(String[] args){
String s = "a,b,c";
String[] split = s.split(",");
for (String s1 : split) {
System.out.println(s1);
}
StringTokenizer st = new StringTokenizer(s,",");
while (st.hasMoreTokens()){
String s1 = st.nextToken();
System.out.println(s1);
}
String s2 = "a,b,c";
while (true){
int i = s2.indexOf(",");
if (i < 0 && s2.length()<0){
break;
}
if (i < 0){
System.out.println(s2);
break;
}else {
System.out.println(s2.substring(0,i));
s2 = s2.substring(i+1);
}
} testSplit();
testStringTokenizer();
testIndexOf();
//split-598
//StringTokenizer-38
//indexOf-4577
}
public static void testSplit(){
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 1000; i++) {
sb.append(i);
if (i < 999){
sb.append(",");
}
}
String str = sb.toString();
long begin = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
str.split(",");
}
long end = System.currentTimeMillis();
System.out.println("split" + (end-begin));
}
public static void testStringTokenizer(){
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 1000; i++) {
sb.append(i);
if (i < 999){
sb.append(",");
}
}
String str = sb.toString();
long begin = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
StringTokenizer st = new StringTokenizer(str);
while (st.hasMoreTokens()){
st.nextToken();
}
st = new StringTokenizer(str);
}
long end = System.currentTimeMillis();
System.out.println("StringTokenizer" + (end-begin));
}
public static void testIndexOf(){
String s = null;
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 1000; i++) {
sb.append(i);
if (i < 999){
sb.append(",");
}
}
s = sb.toString();
String str = s;
long begin = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
while (true){
int a = str.indexOf(",");
if (a < 0){
break;
}
str = str.substring(a+1);
}
str = s;
}
long end = System.currentTimeMillis();
System.out.println("indexOf" + (end-begin));
}
}

最新文章

  1. Uiautomator-----新建工程
  2. 在Spring MVC项目中,注解方式使用 .properties 文件及 UTF-8编码问题
  3. protobuf初体验
  4. PHPstudy 无法启动Apache
  5. centos7 zabbix3 install done
  6. Android开发学习之路-下拉刷新以及GridView的使用
  7. 即时定位与地图构建SLAM(Simultaneous Localization and Mapping)
  8. C#基础知识学习
  9. BingMap的GeocodeService进行地理位置正向和反向检索--后台实现
  10. C#如何获得 WINDOWS 版本号
  11. DP 动态规划
  12. Hive笔记——技术点汇总
  13. MongoDB 4.0 开发环境搭建集群
  14. oracle之序列用法
  15. docker swarm:Error response from daemon: rpc error: code = Unavailable desc = grpc: the connection is unavailable
  16. 运用Zabbix实现内网服务器状态及局域网状况监控(3) —— Zabbix服务端安装
  17. 2018GIAC全球互联网架构大会上海站最新日程抢先看!
  18. “无效数字” ;java.lang.Integer cannot be cast to java.lang.String
  19. Android BLE设备蓝牙通信框架BluetoothKit
  20. 前端——实用UI组件库

热门文章

  1. sql中使一个字段升序,一个字段降序
  2. ConcurrentLinkedQueue和LinkedBlockingQueue区别
  3. ASIO
  4. Cloudera Hadoop 环境搭建(离线安装)
  5. codeforces 111B/112D Petya and Divisors
  6. 一双木棋(chess)
  7. 2018-2019 2 20165203 《网络对抗技术》Exp7 网络欺诈防范
  8. Docker容器数据卷-Volume详解
  9. appium 链接真机后,运行代码,但是APP并没有启动
  10. English-accomplish、complete、finish、achieve and fulfill