Насколько вы зависимы от этого ArrayList? Я не совсем уверен в вашем приложении, но формат «число - строка» ваших записей ArrayList подсказывает мне, что вам действительно нужна карта здесь. Реализуйте это как TreeMap, и вы получите сортировку ключей бесплатно.
public static void main( String[] args ) {
Map<Integer , String> map = new TreeMap<Integer , String>();
map.put( 1, "name1" );
map.put( 1000, "name2" );
map.put( 1004, "name4" );
map.put( 1002, "name3" );
map.put( 10000, "name5" );
map.put( 2000, "name5" );
for ( Integer key : map.keySet() ) {
System.out.println( String.format( "key: %d, value: %s", key, map.get( key ) ) );
}
}
... производит ...
key: 1, value: name1
key: 1000, value: name2
key: 1002, value: name3
key: 1004, value: name4
key: 2000, value: name5
key: 10000, value: name5