I am trying to sort List<Map<String, Object>>
from a request to an oracle database. The format I am receiving is this
63: "Preasignación"
401: "Categorización de posiciones RPV"
509: "Genérica"
532: "Baja de conservación de número"
537: "Pooles ADSL RIMA"
660: "Activación"
886: "CENTREX"
905: "Conservación de número"
920: "Suspensión y rehabilitación"
955: "STB, AABB, PBX e ISPBX"
As you can see they are sorted by numbers, but I want to sort them by value "alphabetically". How can I do it? Please try to not freak out with spanish code :) this is inherited code. Here my code.
public ArrayList<String> ObtenerIdsTiposOrdenPorPerfilLdap(String perfiles) {
String query = "";
ArrayList<String> tipos = new ArrayList<String>();
try {
query = " SELECT ID_PARAMETRO FROM PARAMETRO WHERE EXISTS( " +
" SELECT DISTINCT(ID_TIPO_ORDEN) FROM REL_PERF_LDAP_PERF_TP_ORD_SIS " +
" WHERE ID_PERFIL_LDAP IN (" + perfiles + ") " +
" AND ID_TIPO_ORDEN = -1) " +
" AND ID_TIPO_PARAMETRO = " + Parametro.ID_TIPO_PARAMETRO_TIPO_ORDEN +
" UNION " +
" SELECT ID_PARAMETRO FROM PARAMETRO WHERE ID_PARAMETRO IN ( " +
" SELECT DISTINCT(ID_TIPO_ORDEN) FROM REL_PERF_LDAP_PERF_TP_ORD_SIS " +
" WHERE ID_PERFIL_LDAP IN (" + perfiles + ")) " +
" AND ID_TIPO_PARAMETRO = " + Parametro.ID_TIPO_PARAMETRO_TIPO_ORDEN +
" ORDER BY ID_PARAMETRO ";
List<Map<String, Object>> result = jdbcTemplate.queryForList(query);
for (Map<String, Object> map : result) {
tipos.add(String.valueOf(map.get("ID_PARAMETRO")));
}
} catch (Exception e) {
log.error(e.getMessage());
} finally {
query = null;
}
return tipos;
}