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));
}
}
经测试第二种方式最为快速