Bonjour,
J'ai une HashTable qui contient des duplications de valeurs sur certaines clefs. Genre :
"cle1", "aaaa"
"cle2", "cccc"
"cle3", "bbbb"
"cle4", "aaaa"
J'aimerais la trier sans perdre le doublon cle1 ou cle4.
J'ai trouvé comment trier sur les clefs :
Map listetrier=new TreeMap(ListeBrute);
Mais j'ai besoin de trier les valeurs...
A l'heure actuelle, j'ai ça :
HashMap ListeTrier = new LinkedHashMap();
List yourMapKeys = new ArrayList(ListeBrute.keySet());
List yourMapValues = new ArrayList(ListeBrute.values());
TreeSet sortedSet = new TreeSet(yourMapValues);//Ceci supprime les doublons !!!!!!!!!!!
Object[] sortedArray = sortedSet.toArray();
int size = sortedArray.length;
for (int i=0; i<size; i++)
{
ListeTrier.put(yourMapKeys.get(yourMapValues.indexOf(sortedArray[i])), sortedArray[i]);
}
Je n'ai plus trop le temps de chercher, et j'ai peur de me lancer sur un quicksort non récursif(pour aller +vite) basé sur mes HashTable.value...
Une suggestion?
Cordialement,
Jérôme
Partager