You could probably drastically cut that time down by using an iterator to loop through the array list rather than get(<index>).

Also may I see your JNI Implementation?

After that you are pretty...