Hola estoy intentando ordenar un Hashmap por valores, he encontrado un ejemplo por Internet pero me da un error de Casting.
Me da error en la línia:
TreeSet conjuntoOrdenado = new TreeSet(misMapValues);
El error es:
java.lang.RuntimeException: java.lang.ClassCastException
Código:
HashMap vl_concepto = new HashMap();
HashMap vl_conceptoAnadir = new HashMap();
vl_concepto = (HashMap)vl_listaConceptos.get(index);
vl_conceptoAnadir.put("cconcept", vl_concepto.get("mconpre_shcconcept"));
vl_conceptoAnadir.put("dconcept", vl_concepto.get("mconpre_stdconcata"));
vl_listaConceptosAnadir.add(vl_conceptoAnadir);
HashMap mapResultado = new LinkedHashMap();
List misMapKeys = new ArrayList(vl_conceptoAnadir.keySet());
List misMapValues = new ArrayList(vl_conceptoAnadir.values());
TreeSet conjuntoOrdenado = new TreeSet(misMapValues);
Object[] arrayOrdenado = conjuntoOrdenado.toArray();
int size = arrayOrdenado.length;
for (int i=0; i<size; i++)
{
mapResultado.put(misMapKeys.get(misMapValues.indexOf(arrayOrdenado[i])),arrayOrdenado[i]);
}
Iterator it1 = (Iterator) mapResultado.values().iterator();
while (((java.util.Iterator) it1).hasNext()) {
System.out.println((String)((java.util.Iterator) it1).next());
}
Estoy probando pero no consigo arreglarlo, haber si alguien me echa un cable
Gracias