Java: trier un tableau de chaînes, dont les chaînes représentent int

J'ai String[] tableau comme

{"3","2","4","10","11","6","5","8","9","7"}

Je veux les trier dans l'ordre numérique, pas dans l'ordre alphabétique.

Si j'utilise

Arrays.sort(myarray);

- Je obtenir

{"10","11","2","3","4","5","6","7","8","9"}

au lieu de

{"2","3","4","5","6","7","8","9","10","11"}
  • Si vous avez des chaînes de caractères que vous souhaitez utiliser en tant que nombres, pourquoi ne pas les convertir en un type numérique? Ensuite, lorsque vous avez terminé de les utiliser comme des numéros, vous pouvez toujours les convertir en retour à cordes de nouveau... Si vous voulez aller le chemin le plus difficile: créer un Comparateur de<String> pour les fins de la...
  • Je ne peux pas vous parcourir le tableau et de le convertir en entiers
  • J'ai lu sur des éléments de comparaison, mais ce est la façon la plus efficace? Compator ou simple conversion?
  • Lire mon commentaire ci-dessous: il sera toujours plus efficace pour convertir la totalité de l'ensemble d'abord parce que tous les algorithmes de tri prendre plus de comparaisons que la taille de la liste.
  • Si vous utilisez le tableau de Chaîne de trier par Tableaux.sort (), alors il n'y a aucun moyen pour vous de les trier comme nombre.Parce que vous ne pouvez même pas changer de méthode equals et de toute façon après tout numéro de tableau est le meilleur choix.
InformationsquelleAutor Sefran2 | 2013-03-08