Is "startsWith" faster than "indexOf"?
java
Solution
public class Test
{
public static void main(String args[]) {
long value1 = System.currentTimeMillis();
for(long i=0;i<100000000;i++)
{
"abcd".indexOf("a");
}
long value2 = System.currentTimeMillis();
System.out.println(value2-value1);
value1 = System.currentTimeMillis();
for(long i=0;i<100000000;i++)
{
"abcd".startsWith("a");
}
value2 = System.currentTimeMillis();
System.out.println(value2-value1);
}
}
Tested it with this piece of code and perf for startsWith seems to be better, for obvious reason that it doesn't have to traverse through string. But in best case scenario both should perform close while in a worst case scenario startsWith will always perform better than indexOf
Problem
I am writing code in Java where I branch off based on whether a `string` starts with certain characters while looping through a `dataset` and my `dataset` is expected to be large. I was wondering whether `startsWith` is faster than `indexOf`. I did experiment with 2000 records but not found any difference.