mapjava排序
㈠ java map 先后顺序
通过map中的LinkedHashMap实现就可以。
HashMap<String,String> headers = new LinkedHashMap<String,String>();//创建一个map
headers.put("Cache-Control", "no-cache");//给map赋第一个值
headers.put("Connection", "close");//给map赋第二个值
Set keys1 = headers.keySet();//获取所有的key值
System.out.println(keys1);
结果:[Cache-Control,Connection];//结果就是先进先出
备注:以上HashMap就是先定义了存放的key和value值都是字符串类型,之后可以通过get方法获取到对应的值(如:headers.get("Cache-Control"),结果就是”no-cache“);
㈡ Java的map能不能排序
官方jdk里面提供的map接口实现类基本是不能用来排序的,sortmap或者treemap排序是可以的,但是比较复杂,效率也成问题,所以不常使用.
如果一定要能排序的map,可以自己写一个map的实现类.
现成的代码通过短信给你.
㈢ java map,怎么保证顺序
java map 是一个接口,其有个子接口是SortedMap,进一步提供关于键的总体排序 的 Map。该映射是根据其键的自然顺序进行排序的,或者根据通常在创建有序映射时提供的 Comparator 进行排序。对有序映射的 collection 视图(由 entrySet、keySet 和 values 方法返回)进行迭代时,此顺序就会反映出来。要采用此排序方式,还需要提供一些其他操作(此接口是 SortedSet 的对应映射)。
LinkedHashMap 维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。
㈣ Java中 map集合能排序吗
可以的,Java中的map ,list ,set 三个凯液之间都是可以相互的转换的! 举个例子:map 转换成List 后就可以排序了~ public class test { public static void main(String[] args) { Map<String,String> maps = new HashMap<String,String>(); maps.put("1", "one"); maps.put("2", "two"); maps.put("3", "three"薯李); List list = mapTransitionList(maps); for(int i=0; i<list.size(); i++) { System.out.println(list.get(i));}}private static List mapTransitionList(Map<String, String> maps) { List list = new ArrayList(); Iterator iter = maps.entrySet().iterator(); //数孙迟获得map的Iterator while(iter.hasNext()) {
㈤ 如何对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 map 排序 取数
public class SortTest
{
public static void main(String[] args)
{
List<Map.Entry<String,String>> mappingList = null;
Map<String,String>码枯岁 map = new HashMap<String,String>败老();
map.put("month", "1");
map.put("bread", "3");
map.put("attack", "2");
map.put("dsk", "2");
/迟睁/通过ArrayList构造函数把map.entrySet()转换成list
mappingList = new ArrayList<Map.Entry<String,String>>(map.entrySet());
//通过比较器实现比较排序
Collections.sort(mappingList, new Comparator<Map.Entry<String,String>>(){
public int compare(Map.Entry<String,String> mapping1,Map.Entry<String,String> mapping2){
return mapping2.getValue().compareTo(mapping1.getValue());
}
});
for(Map.Entry<String,String> mapping:mappingList){
System.out.println(mapping.getKey()+":"+mapping.getValue());
}
}
}
㈦ java如何对map集合进行值valuie的倒排序,出现值相同的再健key的倒排序,最后keyvalue组合输出
public static void main(String[] args) {
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
map.put(1, 11);
map.put(2, 44);
map.put(3, 55);
map.put(4, 21);
map.put(5, 33);
map.put(6, 11);
//这里将map.entrySet()转换禅纤成list
List<Map.Entry<Integer,Integer>> list = new ArrayList<Map.Entry<Integer,Integer>>(map.entrySet());
//然后贺镇仿通过比较器来实现排序
Collections.sort(list,new Comparator<Map.Entry<Integer,Integer>>() {
//升序排序
public int compare(Entry<Integer, Integer> o1,Entry<旅灶Integer, Integer> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
for(Map.Entry<Integer,Integer> mapping:list){
System.out.println(mapping.getKey()+":"+mapping.getValue());
}
}
这是根据value的值排序的,你也可以泛型成Map<String,String>一样的 希望能帮到你!
㈧ Java中 map集合能排序吗
Java中的Map默认是对元素不排序的,但是Map的实现类TreeMap能够把它保存的记录根据key排序,默认是按升序排序。如果我们想要改变排序方式,则需要使用比较器:Comparator。