Java - Trier un tableau basé sur les valeurs d'un autre tableau?

J'ai un tableau de Chaînes de caractères qui sont des instances d'une classe à partir d'un code externe, que je préfère ne pas changer.

J'ai également un tableau d'entiers qui ont été générées par l'appel d'une fonction sur chaque objet. J'ai donc

Un: [string1, string2, string3]

Et

B: [40, 32, 34]

Comment puis-je trier facilement Une telle qu'elle est triée par les valeurs de B. j'ai boost disponible. Je veux Un tel qu'il est dans l'ordre:

[string2, string3, string1]

En javascript vous pouvez faire cela comme:

B.sort(function(a,b){return A[B.indexOf(a)] < A[B.indexOf(b)];});
  • Créer un Comparateur de cette première associés entre la valeur en A de valeur dans B (dans le constructeur) et de l'utiliser pour trier
  • Ne pouvez-vous pas simplement de mettre en œuvre la même chose que l'option JavaScript de votre exemple comme un Comparator?
  • Vous devez écrire votre propre Comparateur.
  • Vous pouvez également utiliser TreeMap (Valeurs en B comme la clé et la valeur correspondante dans Une valeur), étant donné que les valeurs de B sont uniques.
InformationsquelleAutor Reza | 2015-02-17