字符串反序

package test;

 

import java.util.Stack;

 

public class TestReverse {

@SuppressWarnings("unchecked")

public static void main(String[] args) {

long count =1000000000;

//long count =1;

String test_s = "abcdefg";

long start =System.currentTimeMillis();

//for (int j = 0; j < count; j++) {

///** 第一种方法 */

//String new_s1 = "";

//for (int i = test_s.length() - 1; i >= 0; i--) {

//new_s1 += test_s.charAt(i);

//}

System.out.println(new_s1);

//}

//System.out.println("方法一耗时:"+(System.currentTimeMillis()-start));

 

start =System.currentTimeMillis();

for (int i = 0; i < count; i++) {

/** 第二种方法 */

String new_s2 = "";

StringBuffer sb = new StringBuffer(test_s);

new_s2 = sb.reverse().toString();

//System.out.println(new_s2);

}

System.out.println("方法二耗时:"+(System.currentTimeMillis()-start));

 

start =System.currentTimeMillis();

for (int j = 0; j< count; j++) {

/** 第三种方法 */

String new_s3 = "";

char[] arr1 = test_s.toCharArray();

for (int i=arr1.length-1; i>=0;i--) {

new_s3 += arr1[i];

}

//System.out.println(new_s3);

}

System.out.println("方法三耗时:"+(System.currentTimeMillis()-start));

 

start =System.currentTimeMillis();

for (int i = 0; i < count; i++) {

/** 第四种方法 */

Stack new_s4 = new Stack();

char[] arr2 = test_s.toCharArray();

for (char c : arr2) {

new_s4.push(c);

}

for (char c : arr2) {

new_s4.pop();

//System.out.println(new_s4.pop());

}

}

System.out.println("方法四耗时:"+(System.currentTimeMillis()-start));

 

}

}

经测试第二种方式最为快速

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值