如何按值对Hashmap <String,Arraylist <String >>类型的Hashmap进行排序?

用户名

我想按值对以下哈希表进行排序。Hashmap是Hashmap<String, Arraylist<String>>,其中的数据如下:

924911637601767=[1, John]  
864467483673342=[2, Paul]  
825398867568656=[8, James]  
1034643283235161=[5,Elina]

我想根据计数器值对上述数据进行排序,即排序后的1,2,8,5

924911637601767=[1, John]  
864467483673342=[2, Paul]   
1034643283235161=[5,Elina]  
825398867568656=[8, James]
几乎实现

哈希图抽象数据类型本质上是未排序的。根据您的用例,您可以执行以下操作:

import java.util.*;
class Test {
    public static void main(String[] args) {
        Map<String, List<String>> map = new HashMap<>();
        map.put("924911637601767", Arrays.asList("1", "John"));
        map.put("864467483673342", Arrays.asList("2", "Paul"));
        map.put("825398867568656", Arrays.asList("8", "James"));
        map.put("1034643283235161", Arrays.asList("5", "Elina"));

        List<Map.Entry<String,List<String>>> entries = new ArrayList<Map.Entry<String,List<String>>>(map.entrySet());

        Collections.sort(entries, new Comparator<Map.Entry<String,List<String>>>() {
            public int compare(Map.Entry<String,List<String>> l1, Map.Entry<String,List<String>> l2) {
                return l1.getValue().get(0).compareTo(l2.getValue().get(0));
            }
        });

        for (Map.Entry<String,List<String>> e : entries) {
            System.out.println(e.getKey() + " : [" + e.getValue().get(0)
                                          + ", " + e.getValue().get(1) + "]");
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据日期时间对ArrayList <HashMap <String,String >>进行排序

如何在Kotlin中按其值对HashMap <String,Int>顺序进行排序?

如何按双值对 HashMap<String, Pair<Double, Integer>> 进行排序?

如何对HashMap <String,Integer []>进行排序?

获取ArrayList <HashMap <String,String >>的值以进行显示

如何迭代Arraylist <HashMap <String,String >>?

如何从Hashmap <String String>获取ArrayList

更新ArrayList <HashMap <String,?>>

我如何声明HashMap <String,ArrayList <ArrayList <String >>>?

如何排序ArrayList <ArrayList <String >>?

按字母顺序对ArrayList <String []>进行排序

在迭代和ArrayList <String>时如何在HashMap <String,ArrayList <Integer >>中存储值?

如何在 Kotlin 中创建 Hashmap<String,Int : String,String : String,String> 进行排序

按名称对HashMap <String [],Boolean>进行排序,该名称按升序出现在String []中

ArrayList <HashMap <String,String >>获取值

无法从ArrayList <HashMap <String,String >>获取Right值

如何排序HashMap <String,String> DESC

如何使用JAXB编组HashMap <String,ArrayList <String >>

如何从ArrayList <HashMap <String,String >>中获取所有元素

如何在列表内存储HashMap <String,ArrayList <String >>?

如何将ArrayList <HashMap <String,String >>转换为StringArray?

如何在SharedPreferences中存储ArrayList <HashMap <String,String >>?

如何在AlertDialog中设置ArrayList <HashMap <String,String >>?

如何使用Arraylist <Hashmap <String,String >>中的bundle使用putserializable获取传递的值

如何从ArrayList <HashMap <String,String >>和Android中的ListView行中删除值?

将ArrayList <HashMap <String,String >>追加到另一个ArrayList <HashMap <String,String >>

如何使用单个Hashmap和多个Arraylist存储ArrayList <HashMap <String,String >>

Android:如何拥有类型为ArrayList <HashMap <String,String >>的Array

从控制器类型@RequestParam ArrayList获取JS变量ArrayList <HashMap <String,String>