Comment puis-je trier cette liste de tableaux de la façon que je veux?

Ici est un simple programme de tri d'une liste de tableaux:

ArrayList<String> list = new ArrayList<String>();

list.add("1_Update");
list.add("11_Add");
list.add("12_Delete");
list.add("2_Create");

Collections.sort(list);
for (String str : list) {
  System.out.println(str.toString());
}

J'attendais la sortie de ce programme:

1_Update
2_Create
11_Add
12_Delete

Mais quand je lance ce programme, je suis sortie comme:

11_Add
12_Delete
1_Update
2_Create

Pourquoi est-ce et comment puis-je obtenir la liste de tableaux de tri comme le montre le résultat attendu?

  • oui, c'est de faire des comparaisons de chaînes de pas entier.
  • Essayez de regarder jusqu'à "Ordre Naturel" de Comparaison sourcefrog.net/projects/natsort
  • Parce que son centre de tri comme une Chaîne de caractères Table ASCII
  • Les chiffres sont à moins de trait de soulignement, donc "11" est inférieur à "1_".
InformationsquelleAutor Pahari Chora | 2009-05-20