カンマ区切りの文字列で
2つ目に区切られた語を取り出したい場合、
下記の2つでどの方法が早いか実験。
public static void main(String[] args) {
long start, goal;
String str = "漢字,ひらがな,カタカナ,ローマ字";
start = System.currentTimeMillis();
for (int i=0; i < 100000; i++){ func1(str);}
goal = System.currentTimeMillis();
System.out.println("func1: " + (goal - start));
start = System.currentTimeMillis();
for (int i=0; i < 100000; i++){ func2(str);}
goal = System.currentTimeMillis();
System.out.println("func1: " + (goal - start));
}
static String func1(String str) {
int index = str.indexOf(",") + 1;
return str.substring(index, str.indexOf(",", index));
}
static String func2(String str) {
return str.split(",")[1];
}
結果は
func1: 16
func1: 438
1行で書けても遅い。ケースバイケースで使い分け。
0 件のコメント:
コメントを投稿