У меня отлично работает:
import java.util.*;
public class Test {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("12880 20090506054200001");
list.add("12880 20090506054200002");
list.add("12880 20090513070200003");
list.add("12880 20090513070200004");
list.add("12880 20090520202600005");
list.add("12880 20090520202600006");
list.add("12880 20090520232900010");
list.add("12880 20090520232900011");
list.add("12880 20090520232900007");
list.add("12880 20090520232900008");
list.add("12880 20090520232900009");
Collections.sort(list);
for (String x : list) {
System.out.println(x);
}
}
}
Выход:
12880 20090506054200001
12880 20090506054200002
12880 20090513070200003
12880 20090513070200004
12880 20090520202600005
12880 20090520202600006
12880 20090520232900007
12880 20090520232900008
12880 20090520232900009
12880 20090520232900010
12880 20090520232900011
Вы абсолютно уверены, что в ваших записях 7/8/9 нет чего-то «странного» в другом месте (например, другой элемент пробела между 12880 и отметкой времени)?
Если нет, можете ли вы создать короткую, но полную программу, которая демонстрирует проблему?