当前位置:首页 » 编程语言 » java对map的key排序

java对map的key排序

发布时间: 2023-02-22 06:43:28

⑴ 如何对Map进行字典排序java

//根据 Map的key进行字典排序
Map<String, String> parameterMap = new HashMap<String, String>();
List<Map.Entry<String,String>> list = new ArrayList<Map.Entry<String,String>>(parameterMap.entrySet());
Collections.sort(list,new Comparator<Map.Entry<String,String>>() {
//升序排序
public int compare(Entry<String, String> o1,
Entry<String, String> o2) {
return o1.getKey().compareTo(o2.getKey());
}

});

⑵ java里,想对hashmap里的key进行排序

chNNN -> NNN -> Integer.parseInt(NNN)
"ch10" -> "10" -> Integer.parseInt("10") -> 10
--------
Yes, you are right, but not too slow/difficult:

import java.util.*;

public class Tmp {
public static void main(String[] args) {
Map<String, Object> result = new HashMap<String, Object>();
result.put("ch1", "ch 1");
result.put("ch111", "ch 111");
result.put("ch11", "ch 11");
result.put("ch2", "ch 2");
result.put("ch13", "ch 13");
Object[] keys=result.keySet().toArray();
Comparator<Object> c = new Comparator<Object>(){
@Override
public int compare(Object o1, Object o2) {
//TODO: add argument check yourself
int a1 = Integer.parseInt(((String)o1).substring(2));
int a2 = Integer.parseInt(((String)o2).substring(2));
if(a1>a2)return 1;
if(a1==a2)return 0;
else return -1;
}
};
Arrays.sort(keys, c);
for(Object s:keys){
System.out.println(s +"=>"+result.get(s));
}
}
}

⑶ 在java里如何对一个map按key排序:Map<String, String[]>

你可以把map数据直接给treeMap就可以,它本身就是排序的。

⑷ Java中如何对Map的value或者key排序

Object
obj
=
new
Object();
obj
=
map.get("key");
map是Map的那个对象,“key”是表示key的那个值,一般是个字符串

⑸ java map 怎么按按key排序

java中map按照double大小进行排序,可以使用collentions接口的sort方法进行比较,实例如下:

Collections.sort(dataMap, new Comparator<Map<String, Object>>() { @Override public int compare(Map<String, Object> lhs, Map<String, Object> rhs) { Double d5 = ((Double) rhs.get(OpenPrice)); Double d6 = (Double) lhs.get(OpenPrice); if (d5 != null && d6 != null) { return d5.compareTo(d6); } else { return flag; } // return d1.compareTo(d2);}

根据返回的int类型,可设置按照从大到小还是从小到大排序

⑹ java TreeMap 中的key是怎么排序的呢 如果说key是 Double 类型的,自动排序的结果是从小到大的么

可以的,你可以看下TreeMap API帮助文档的介绍
例子如下
@Test
public void test() {
TreeMap<Double,String> treeMap = new TreeMap();
treeMap.put(0.1003, "zhangsan");
treeMap.put(1.1, "lisi");
treeMap.put(1.00031, "wangwu");
treeMap.put(0.1102, "xiaohong");

Set<Entry<Double, String>> entry = treeMap.entrySet();
for(Iterator<Entry<Double,String>> it = entry.iterator();it.hasNext();) {
Entry<Double, String> entry2 = it.next();
System.err.println("KEY:"+entry2.getKey()+" "+"VALUE:"+entry2.getValue());
}
}
------------------------------------
运行结果:
KEY:0.1003 VALUE:zhangsan
KEY:0.1102 VALUE:xiaohong
KEY:1.00031 VALUE:wangwu
KEY:1.1 VALUE:lisi
按照大小排序了

⑺ Java的map能不能排序

官方jdk里面提供的map接口实现类基本是不能用来排序的,sortmap或者treemap排序是可以的,但是比较复杂,效率也成问题,所以不常使用.

如果一定要能排序的map,可以自己写一个map的实现类.
现成的代码通过短信给你.

⑻ Java怎么实现HashMap或TreeMap以key值进行排序

HashMap本身是hash散列,做不到你说的排序。
TreeMap可以,是二叉树实现,自己实现一个Comparator。

⑼ java如何把Map<String,Object> map = new HashMap<String, Object>(); 按 Key 排序

首先Map排序需要自己写一堆算法。其次HashMap是无序的,即使已经排序正确了,取值时也不一定就是按顺序取出的。所以直接排序存放是不可行的。

但可以曲线救国的办法,通过Set<String> keys = map.keySet();取得map的key值集合,然后单独给keys来个排序就简单多了,然后按排序后的keys去遍历取值,就OK了。

⑽ Java中 map集合能排序吗

Java中的Map默认是对元素不排序的,但是Map的实现类TreeMap能够把它保存的记录根据key排序,默认是按升序排序。如果我们想要改变排序方式,则需要使用比较器:Comparator。

热点内容
苹果安卓战力哪个高 发布:2024-11-08 02:45:04 浏览:532
安卓备份哪个系统好 发布:2024-11-08 02:35:50 浏览:736
unlinklinux 发布:2024-11-08 02:31:30 浏览:663
nginxphp编译 发布:2024-11-08 02:11:57 浏览:979
粉笔手机号注册的密码是什么 发布:2024-11-08 02:01:49 浏览:249
漆黑的魅影文件夹 发布:2024-11-08 01:55:15 浏览:691
c语言病毒编写 发布:2024-11-08 01:55:03 浏览:989
原神修改密码的格式是什么 发布:2024-11-08 01:53:49 浏览:728
从安卓转移数据到苹果报无法通信是什么问题 发布:2024-11-08 01:40:27 浏览:289
云存储虚拟化 发布:2024-11-08 01:32:27 浏览:101