精华内容
下载资源
问答
  • Map是键值对的集合接口,它实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。TreeMap:基于红黑树(Red-Black tree) NavigableMap 实现,该映射根据其键自然顺序进行排序,或者根据创建映射时...

    afd14e4244ad

    Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。

    TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。

    Map.Entry返回Collections视图。

    key排序

    TreeMap默认是升序的,如果我们需要改变排序方式,则需要使用比较器:Comparator。Comparator可以对集合对象或者数组进行排序的比较器接口,实现该接口的public compare(T o1,To2)方法即可实现排序,如下:

    `import java.util.Comparator;

    import java.util.Iterator;

    import java.util.Map;

    import java.util.Set;

    import java.util.TreeMap;

    public class TreeMapTest {

    publicstaticvoidmain(String[] args) {

    Map map =newTreeMap(

    newComparator() {

    publicintcompare(Stringobj1,Stringobj2) {

    // 降序排序

    returnobj2.compareTo(obj1);

    }

    });

    map.put("b","ccccc");

    map.put("d","aaaaa");

    map.put("c","bbbbb");

    map.put("a","ddddd");

    Set keySet = map.keySet();

    Iterator iter = keySet.iterator();

    while(iter.hasNext()) {

    Stringkey = iter.next();

    System.out.println(key +":"+ map.get(key));

    }

    }

    }`

    运行结果如下:

    `d:aaaaa

    c:bbbbb

    b:ccccc

    a:ddddd`

    以上就是java可以对map的key排序吗的详细内容,希望对你有所帮助。

    展开全文
  • 理论准备Map是键值对的集合接口,它实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。TreeMap:基于红黑树(Red-Black tree) NavigableMap 实现,该映射根据其键自然顺序进行排序,或者根据创建...

    一.理论准备

    Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。

    TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。

    HashMap的值是没有顺序的,它是按照key的HashCode来实现的,对于这个无序的HashMap我们要怎么来实现排序呢?参照TreeMap的value排序。

    Map.Entry返回Collections视图。

    二.key排序

    TreeMap默认是升序的,如果我们需要改变排序方式,则需要使用比较器:Comparator。Comparator可以对集合对象或者数组进行排序的比较器接口,实现该接口的public compare(T o1,To2)方法即可实现排序,如下:

    import java.util.Comparator;

    import java.util.Iterator;

    import java.util.Map;

    import java.util.Set;

    import java.util.TreeMap;

    public class TreeMapTest {

    public static void main(String[] args) {

    Map map = new TreeMap(

    new Comparator() {

    public int compare(String obj1, String obj2) {

    // 降序排序

    return obj2.compareTo(obj1);

    }

    });

    map.put("b", "ccccc");

    map.put("d", "aaaaa");

    map.put("c", "bbbbb");

    map.put("a", "ddddd");

    Set keySet = map.keySet();

    Iterator iter = keySet.iterator();

    while (iter.hasNext()) {

    String key = iter.next();

    System.out.println(key + ":" + map.get(key));

    }

    }

    }

    运行结果如下:

    d:aaaaa

    c:bbbbb

    b:ccccc

    a:ddddd

    三.value排序

    上面例子是对根据TreeMap的key值来进行排序的,但是有时我们需要根据TreeMap的value来进行排序。对value排序我们就需要借助于Collections的sort(List list, Comparator super T> c)方法,该方法根据指定比较器产生的顺序对指定列表进行排序。但是有一个前提条件,那就是所有的元素都必须能够根据所提供的比较器来进行比较,如下:

    import java.util.ArrayList;

    import java.util.Collections;

    import java.util.Comparator;

    import java.util.List;

    import java.util.Map;

    import java.util.Map.Entry;

    import java.util.TreeMap;

    public class TreeMapTest {

    public static void main(String[] args) {

    Map map = new TreeMap();

    map.put("a", "ddddd");

    map.put("c", "bbbbb");

    map.put("d", "aaaaa");

    map.put("b", "ccccc");

    //这里将map.entrySet()转换成list

    List> list = new ArrayList>(map.entrySet());

    //然后通过比较器来实现排序

    Collections.sort(list,new Comparator>() {

    //升序排序

    public int compare(Entry o1,

    Entry o2) {

    return o1.getValue().compareTo(o2.getValue());

    }

    });

    for(Map.Entry mapping:list){

    System.out.println(mapping.getKey()+":"+mapping.getValue());

    }

    }

    }

    运行结果如下:

    d:aaaaa

    c:bbbbb

    b:ccccc

    a:ddddd

    展开全文
  • 这篇文章主要介绍了Java Map 按Key排序实例代码相关资料,需要朋友可以参考下Java Map 按Key排序有时候我们业务上需要对map里面值按照key大小来进行排序时候我们就可以利用如下方法来进行排序了,package ...

    这篇文章主要介绍了Java Map 按Key排序实例代码的相关资料,需要的朋友可以参考下

    Java Map 按Key排序

    有时候我们业务上需要对map里面的值按照key的大小来进行排序的时候我们就可以利用如下方法来进行排序了,

    package test;

    import java.util.ArrayList;

    import java.util.Collections;

    import java.util.Comparator;

    import java.util.HashMap;

    import java.util.Iterator;

    import java.util.List;

    import java.util.Set;

    import java.util.TreeSet;

    public class Demo {

    private HashMap map =new HashMap();

    private Set keySet = map.keySet();

    public Object get(Integer key) {

    return map.get(key);

    }

    public void put(Integer key, Object value) {

    map.put(key, value);

    }

    @SuppressWarnings("unchecked")

    public void sort() {

    List list =new ArrayList(map.keySet());

    Collections.sort(list, new Comparator(){

    public int compare(Object a, Object b) {

    return a.toString().toLowerCase().compareTo(b.toString().toLowerCase());

    }

    });

    this.keySet = new TreeSet(list);

    }

    public Set keySet() {

    return this.key

    }

    public static void main(String [] args){

    Demo map= new Demo();

    map.put(11, "加");

    map.put(12, "关");

    map.put(13, "注");

    map.put(10, "添");

    map.put(1, "小");

    map.put(8, "记");

    map.put(9, "得");

    map.put(7, "客");

    map.put(5, "的");

    map.put(6, "博");

    map.put(4, "豆");

    map.put(3, "糖");

    map.put(2, "小");

    System.out.println("排序前");

    for (Iterator it =map.keySet().iterator();it.hasNext();){

    Integer key= (Integer)it.next();

    System.out.println( "key[ " + key + "], value[ " + map.get(key) + "] ");

    }

    //

    System.out.println("排序后");

    System.out.println( "\n ");

    map.sort();

    for (Iterator it=map.keySet().iterator();it.hasNext();) {

    Integer key=(Integer)it.next();

    System.out.println( "key[ " + key + "], value[ " + map.get(key) + "] ");

    }

    }

    }

    运行效果如下

    排序前

    key[ 1], value[ 小]

    key[ 2], value[ 小]

    key[ 3], value[ 糖]

    key[ 4], value[ 豆]

    key[ 5], value[ 的]

    key[ 6], value[ 博]

    key[ 7], value[ 客]

    key[ 8], value[ 记]

    key[ 9], value[ 得]

    key[ 10], value[ 添]

    key[ 11], value[ 加]

    key[ 12], value[ 关]

    key[ 13], value[ 注]

    排序后

    key[ 1], value[ 小]

    key[ 2], value[ 小]

    key[ 3], value[ 糖]

    key[ 4], value[ 豆]

    key[ 5], value[ 的]

    key[ 6], value[ 博]

    key[ 7], value[ 客]

    key[ 8], value[ 记]

    key[ 9], value[ 得]

    key[ 10], value[ 添]

    key[ 11], value[ 加]

    key[ 12], value[ 关]

    key[ 13], value[ 注]

    感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    展开全文
  • java对map的key进行排序的方法发布时间:2020-06-26 11:33:49来源:亿速云阅读:181作者:Leah本篇文章给大家分享的是有关java对map的key进行排序的方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完...

    java对map中的key进行排序的方法

    发布时间:2020-06-26 11:33:49

    来源:亿速云

    阅读:181

    作者:Leah

    本篇文章给大家分享的是有关java对map中的key进行排序的方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

    Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。

    TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。

    Map.Entry返回Collections视图。

    key排序

    TreeMap默认是升序的,如果我们需要改变排序方式,则需要使用比较器:Comparator。Comparator可以对集合对象或者数组进行排序的比较器接口,实现该接口的public compare(T o1,To2)方法即可实现排序,如下:import java.util.Comparator;

    import java.util.Iterator;

    import java.util.Map;

    import java.util.Set;

    import java.util.TreeMap;

    public class TreeMapTest {

    public static void main(String[] args) {

    Map map = new TreeMap(

    new Comparator() {

    public int compare(String obj1, String obj2) {

    // 降序排序

    return obj2.compareTo(obj1);

    }

    });

    map.put("b", "ccccc");

    map.put("d", "aaaaa");

    map.put("c", "bbbbb");

    map.put("a", "ddddd");

    Set keySet = map.keySet();

    Iterator iter = keySet.iterator();

    while (iter.hasNext()) {

    String key = iter.next();

    System.out.println(key + ":" + map.get(key));

    }

    }

    }

    运行结果如下:d:aaaaa

    c:bbbbb

    b:ccccc

    a:ddddd

    以上就是java对map中的key进行排序的方法,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

    展开全文
  • 理论准备Map是键值对的集合接口,它实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。TreeMap:基于红黑树(Red-Black tree) NavigableMap 实现,该映射根据其键自然顺序进行排序,或者根据创建...
  • 理论准备Map是键值对的集合接口,它实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。TreeMap:基于红黑树(Red-Black tree) NavigableMap 实现,该映射根据其键自然顺序进行排序,或者根据创建...
  • title: Java Mapkey排序和按Value排序date: 2016/8/31 15:24:13tags: Javacategories: Java做推荐系统项目时,标签评分需要标签评分map进行排序.理论准备Map是键值对的集合接口,它实现类主要包括:HashMap...
  • 今天做统计时需要对X轴地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用map来进行数据统计,所以在统计过程中就需要对map进行排序。一、简单介绍Map在讲解Map排序之前,我们先来稍微了解下map。map...
  • 理论准备Map是键值对的集合接口,它实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。TreeMap:基于红黑树(Red-Black tree) NavigableMap 实现,该映射根据其键自然顺序进行排序,或者根据创建...
  • Map是键值对的集合接口,它实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 TreeMap:基于红黑树(Red-Black tree) NavigableMap 实现,该映射根据其键自然顺序进行排序,或者根据创建映射...
  • Map是键值对的集合接口,它实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。TreeMap:基于红黑树(Red-Black tree) NavigableMap 实现,该映射根据其键自然顺序进行排序,或者根据创建映射时...
  • Java Map 键值排序 按key排序和按Value排序一.理论准备Map是键值对的集合接口,它实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。TreeMap:基于红黑树(Red-Black tree) NavigableMap 实现,...
  • Javalist map根据map某个key值进行排序的方法发布于 2020-6-26|复制链接分享一篇关于Javalist map根据map某个key值进行排序的方法,具有很好参考价值,希望大家有所帮助。一起跟随小妖过来看看吧实例...
  • Javalist map根据map某个key值进行排序的方法发布于 2020-6-26|复制链接分享一篇关于Javalist map根据map某个key值进行排序的方法,具有很好参考价值,希望大家有所帮助。一起跟随小妖过来看看吧实例...
  • Java Map 按Key排序有时候我们业务上需要对map里面值按照key大小来进行排序时候我们就可以利用如下方法来进行排序了,package test;import java.util.ArrayList;import java.util.Collections;import java....
  • 一、理论准备Map是键值对的集合接口,它实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。TreeMap:基于红黑树(Red-Black tree) NavigableMap 实现,该映射根据其键自然顺序进行排序,或者根据...
  • Map是键值对的集合接口,它实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。TreeMap:基于红黑树(Red-Black tree) NavigableMap 实现,该映射根据其键自然顺序进行排序,或者根据创建映射时...
  • 一、理论准备Map是键值对的集合接口,它实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。TreeMap:基于红黑树(Red-Black tree) NavigableMap 实现,该映射根据其键自然顺序进行排序,或者根据...
  • Java MapKey排序

    千次阅读 2016-11-12 14:04:20
    有时候我们业务上需要对map里面值按照key的大小来进行排序的时候我们就可以利用如下方法来进行排序了,package test;import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; ...
  • 理论准备 Map是键值对的集合接口,它实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 TreeMap:基于红黑树(Red-Black tree) NavigableMap 实现,该映射根据其键自然顺序进行排序,或者...
  • 这是工具类中的代码 package com.demo.utils; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Map; ... * 给map集合中的key实现字...
  • package test;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.List;...public class java_ListMapSort {publ...
  • Map是键值对的集合接口,它实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 TreeMap:基于红黑树(Red-Black tree) NavigableMap 实现,该映射根据其键自然顺序进行排序,或者根据创建...
  • Map 这个在java 程序中最常见类型,通常使用是其具体实现 hashmap ... 根据 map key 值来排序 ( 利用treemap 特性实现 )2. 根据 map value 值来排序( 利用 list 特性实现 )下面是两种处理办法代码第一...
  • Map是键值对的集合接口,它实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 TreeMap:基于红黑树(Red-Black tree) NavigableMap 实现,该映射根据其键自然顺序进行排序,或者根据创建映射...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 614
精华内容 245
关键字:

java对map的key排序

java 订阅