gpt4 book ai didi

java - 按值排序 List>

转载 作者:行者123 更新时间:2023-11-30 05:57:46 24 4
gpt4 key购买 nike

我正在尝试排序List<Map<String, Object>>从对 oracle 数据库的请求。我收到的格式是这样的

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"

正如您所看到的,它们是按数字排序的,但我想按值“按字母顺序”对它们进行排序。我该怎么做?请尽量不要对西类牙代码感到害怕:)这是继承的代码。这是我的代码。

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;
}

最佳答案

如果 PARAMETRO 的文本描述(“presignación”,...)实际上在 PARAMETRO 本身中(我们将该列称为 TXT_PARAMETRO ),要求数据库进行排序就足够了:删除

" ORDER BY ID_PARAMETRO ";

并添加

" ORDER BY TXT_PARAMETRO ";

相反。

关于java - 按值排序 List<Map<String,Object>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52873117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com