【发布时间】:2017-12-08 08:09:56
【问题描述】:
当我想对地图进行排序时遇到一些麻烦,当我创建一个传递字符串的地图时,它会像
nombre=EDIFICADORA JUANA, descripcion= LOS frst com MEJORES Estamso para servir LOS, correo1=rst008@guan.com, correo2=oipoa@gmaio.com, numero1=24602254, numero2=55655545
当我使用这些数据创建地图时,它会变得混乱,这是创建地图的方法:
private HashMap<String, String> getMap(String rawData) {
HashMap<String, String> map = new HashMap<>();
String[] pairs = rawData.split(","); // split into key-value pairs
for(String pair: pairs) {
pair = pair.trim(); // get rid of extraneous white-space
String[] components = pair.split("=");
String key = components[0].trim();
String value = components[1].trim();
map.put(key, value); // put the pair into the map
}
return map;
}
这个函数返回类似:
0 = {HashMap$HashMapEntry@5854} "correo2" -> "oipoa@gmaio.com"
1 = {HashMap$HashMapEntry@5855} "correo1" -> "rst008@guan.com"`
2 = {HashMap$HashMapEntry@5856} "numero2" -> "55655545"
3 = {HashMap$HashMapEntry@5857} "名词" -> "EDIFICADORA JUANA"
4 = {HashMap$HashMapEntry@5858} "描述" -> "LOS frst com MEJORES Estamso 标准”
5 = {HashMap$HashMapEntry@5859} "numero1" -> "24602254"
我怎样才能像字符串值一样对这个 Map 进行排序?
我希望:
0 = {HashMap$HashMapEntry@5857} "名词" -> "EDIFICADORA JUANA"
1 = {HashMap$HashMapEntry@5858}“描述”->“LOS frst com MEJORES Estamso par”
2 = {HashMap$HashMapEntry@5855} "correo1" -> "rst008@guan.com"`
3 = {HashMap$HashMapEntry@5854} "correo2" -> "oipoa@gmaio.com"
4 = {HashMap$HashMapEntry@5859} "numero1" -> "24602254"
5 = {HashMap$HashMapEntry@5856} "numero2" -> "55655545"
【问题讨论】:
-
"我怎样才能像字符串值一样对这个 Map 进行排序?"我不确定会得到你。你能给出预期输出的样本吗?
-
好吧!,对不起@davidxxx
-
numero(你的字符串最后一个)和correo(你的地图最后一个)的不同顺序是故意的吗?因为在我的书中,这不是“像字符串值一样”。 -
再次抱歉,我编辑了@davidxxx,我可以使用 LinkedHashMap 来回答这个问题吗?
-
@Johan Sánchez 好的,我明白了。您希望将订单保留在传递的
String:"nombre=EDIFICADORA JUANA, descripcion= LOS frst com MEJORES Estamso para servir LOS, correo1=rst008@guan.com, correo2=oipoa@gmaio.com, numero1=24602254, numero2=55655545"
标签: java android sorting hashmap