精华内容
下载资源
问答
  • hashmap根据key排序
    千次阅读
    2013-11-05 10:04:27
    Object[] key_arr = hashmap.keySet().toArray();     
    Arrays.sort(key_arr);     
    for  (Object key : key_arr) {     
        Object value = hashmap.get(key);     
    } 

    转载自 http://blog.csdn.net/zxy_snow/article/details/6979263
    更多相关内容
  • HashMapkey排序或按value排序的方法

    千次阅读 2021-03-20 20:04:29
    // key=商品名称,value=价格,这里以这个例子实现按名称排序和按价格排序. Map store = new HashMap(); store.put("iphone12", 6799); store.put("iphone12pro", 8499); store.put("macbookPro", 19499); store.put...

    HashMap的储存是没有顺序的,而是按照key的HashCode实现.

    // key=商品名称,value=价格,这里以这个例子实现按名称排序和按价格排序.
    Map store = new HashMap();
    
    store.put("iphone12", 6799);
    store.put("iphone12pro", 8499);
    store.put("macbookPro", 19499);
    store.put("ipadAir", 6999);
    store.put("watch6", 3199);
    
    // 直接输出HashMap得到的是一个无序Map(不是Arraylist那种顺序型储存)
    System.out.println(store);
    
    {ipadAir=6999, iphone12pro=8499, macbookPro=19499, watch6=3199, iphone12=6799}
    将entrySet转换为List,然后重写比较器比较即可.这里可以使用List.sort(comparator),也可以使用Collections.sort(list,comparator)
    
    // 转换为list
    List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(store.entrySet());
    
    // 使用list.sort()排序,按key排序
    list.sort(new Comparator<Map.Entry<String, Integer>>() {
        @Override
        public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
            return o1.getKey().compareTo(o2.getKey());
        }
    });
    
    // for循环
    for (int i = 0; i < list.size(); i++) {
        System.out.println(list.get(i).getKey() + ":" + list.get(i).getValue());
    }
    
    System.out.println("=================================");
    
    // 使用Collections.sort()排序,按value排序
    Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
        @Override
        public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
            return o1.getValue().compareTo(o2.getValue());
        }
    });
    
    // for-each循环
    for (Map.Entry<String, Integer> mapping : list){
        System.out.println(mapping.getKey() + ":" + mapping.getValue());
    }
    
    
    {ipadAir=6999, iphone12pro=8499, macbookPro=19499, watch6=3199, iphone12=6799}
    ipadAir:6999
    iphone12:6799
    iphone12pro:8499
    macbookPro:19499
    watch6:3199
    =================================
    watch6:3199
    iphone12:6799
    ipadAir:6999
    iphone12pro:8499
    macbookPro:19499

     

    展开全文
  • HashMapkey进行排序

    千次阅读 2022-06-02 17:53:33
    Hashmap排序
     public static LinkedHashMap<String, List<AirQualityRankingResp>> mapSortedByKey(Map<String, List<AirQualityRankingResp>> param) {
            // 分组后根据key正序排列,()LinkedHashMap有序)
            LinkedHashMap<String, List<AirQualityRankingResp>> collect = param.entrySet().stream().sorted(new Comparator<Map.Entry<String, List<AirQualityRankingResp>>>() {
                @Override
                public int compare(Map.Entry<String, List<AirQualityRankingResp>> o1, Map.Entry<String, List<AirQualityRankingResp>> o2) {
                    try {
                        Date d1 = new SimpleDateFormat("yyyy-MM").parse(o1.getKey());
                        Date d2 = new SimpleDateFormat("yyyy-MM").parse(o2.getKey());
                        return d1.compareTo(d2);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return 0;
                }
            }).collect(Collectors.toMap(
                    Map.Entry::getKey,
                    Map.Entry::getValue,
                    (oldVal, newVal) -> oldVal,
                    LinkedHashMap::new
            ));
            return collect;
        }
    
    
    展开全文
  • HashMap<String, String> maptest =new HashMap<String, String>(); maptest.put("1天","day1"); maptest.put("5天","day5"); maptest.put("4天","day4"); maptest.put("2天","day2"); maptest.put("3天...
    HashMap<String, String> maptest =new  HashMap<String, String>();
    maptest.put("1天","day1");
    maptest.put("5天","day5");
    maptest.put("4天","day4");
    maptest.put("2天","day2");
    maptest.put("3天","day3");
    		 
    Collection<String> keyset= maptest.keySet();
    List<String> list = new ArrayList<String>(keyset);
    		 
    //对key键值按字典升序排序
    Collections.sort(list);
    		 
    for (int i = 0; i < list.size(); i++) {
        System.out.println("key键---值: "+list.get(i)+","+maptest.get(list.get(i)));
    }

     

    展开全文
  • hashmap根据key和value的值排序

    千次阅读 2021-11-23 20:18:21
    一、根据key排序 hashmap是无序的。 当所有key的hash的最大值<数组的长度-1时,HashMap可以将存入的元素按照key的hash从小到大排序。这个后期我会从源码的角度详细去分析。 public static void main(String[] ...
  • Java HashMapkey排序和按value排序的两种简便方法

    万次阅读 多人点赞 2018-10-04 17:17:57
    key=手机品牌,value=价格,这里以这个例子实现按名称排序和按价格排序. Map phone=new HashMap(); phone.put("Apple",7299); phone.put("SAMSUNG",6000); phone.put("...
  • HashMap类Java HashMap按照key进行排序Java HashMap本身就是升序排列,如果要获取集合数据,见如下代码:Map map = new HashMap();map.put("d", 3);map.put("c", 1);Set keySet = map.keySet();Collections.sort...
  • 先上代码: import java.io.*; import java.util.*; public class Main{ public static void main(String... HashMap<String,Integer> map=new HashMap<>(); map.put("zhangsan",1); map.put("lisu",2);
  • HashMapkey排序

    千次阅读 2017-11-15 23:29:00
    HashMap map = new HashMap(); map.put("0201", "0201"); map.put("01", "01"); map.put("0304", "0304"); map.put("0101", "0...
  • HashMap中按key排序

    千次阅读 2017-09-28 23:11:10
    以下代码,print方法输出的是key的集合:[1, 20, 3, 9],现在print2方法要实现以下功能,将map中的key-value按以下方式打印出来: 1----v1 3----v3 9----v9 20----v20 其中,map中的key是String类型的,但都...
  • Map<String, String> hMap = new HashMap<>(); hMap.put("a", "1"); hMap.put("z", "3"); hMap.put("c", "5"); hMap.put("k", "8"); System.out.pr...
  • HashMap实现按照key和value进行排序

    千次阅读 2019-01-18 15:27:50
    HashMap添加元素是无序的,下面是按照key和User中的age进行排序 已知一个 HashMap&lt;Integer,User&gt; 集合,User 有 name(String)和 age(int)属性。请写一个方法实现对HashMap排序功能,该方法接收...
  • 加入一个函数解决java中hashmap按照value或key排序问题
  • Java 让HashMap集合按照key进行排序的示例分享
  • JAVA中Hashmapkey排序

    万次阅读 2011-11-16 22:34:48
    http://blog.csdn.net/buptdavid/article/details/4807835 这个很好。。 Object[] key_arr = hashmap.keySet().toArray(); Arrays.sort(key_arr); for (Object key : key_arr) { Object value = hashm
  • Java HashMap根据key或value进行排序

    千次阅读 2021-07-03 12:29:45
    Java HashMap根据key或value进行排序HashMap如何根据key进行排序HashMap如何根据value进行排序例题:leetcode算法题第451题 在之前的博客中,我介绍了Java中一些对于元素进行比较的方法,链接见: Java 自定义比较...
  • 根据key排序 LinkedHashMap<String,String> result = new LinkedHashMap<>(); Map<String,String> map = new HashMap<>(); map.entrySet().stream() .sorted(Map.Entry.comparingByKey()...
  • HashMap自动按key值进行排序

    千次阅读 2016-03-17 17:58:26
    HashMap自动按key值进行排序今天在做项目的时候,发现HashMap有自动排序的功能,但是我传入的是一个List, 而且是一个已经排好序的List,所以…在转换成map时顺序被打乱了 code: private static Map,String> ...
  • JAVA对HashMap按照key排序

    千次阅读 2017-03-16 09:23:11
    JAVA对HashMap按照key排序
  • HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。 但HashMap 是无序的...
  • Map<String, String> map = getMap(); List<Entry<String, String>...// 按value,从大到小排序 list.sort((o1, o2) -> Integer.parseInt(o2.getValue()) - Integer.parseInt(o1.getValue()));
  • key排序 首先要得到HashMap中的键的集合,使用keySet,转换为数组,然后调用Arrays.sort()进行排序。 Hash Map: ——Set keySet() —— 返回一个 Set的关键视图包含在这个Map。 Set: ——Object[ ] toArray() ...
  • HashMap按Value排序 import java.util.*; public class HashMapSort { private static void mapValueSort(HashMap<String, Integer> labelsMap) { List<Map.Entry<String, Integer>> ...
  • HashMapkey排序

    2013-05-16 11:18:50
    Object[] key = menuMap.keySet().toArray(); Arrays.sort(key); for(int i=0;i<key.length; i++){ System.out.println(key[i]); }
  • hashmap根据value值进行排序

    千次阅读 2021-03-31 13:57:01
    hashmap根据value值进行排序,首先将hashmap集合装进list集合中 List<Map.Entry<Character , Integer>> list = new ArrayList<>(map.entrySet()); 方法一:用Collections.sort()方法进行排序 ...
  • 给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值大小升序排列。请你返回排序后的数组。... HashMap<Integer,
  • 直接集合排序,因为Key值是String,所以用hashCode进行排序。代码如下: 知识点(根据name的值进行排序) for (int i = 0; i < fields.length; i++) { Map<String, Object> fvMap = new Ha
  • HashMapkey值进行排序

    万次阅读 2010-10-12 09:46:00
    HashMap map = new HashMap();   map.put("0201", "0201");   map.put("01", "01");   map.put("0304", "0304");   map.put("0101", "0101");   Object[] key =...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 120,882
精华内容 48,352
关键字:

hashmap根据key排序