真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在java8中使用stream操作map

這篇文章給大家介紹怎么在java8中使用stream 操作map,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:主機域名、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、平邑網(wǎng)站維護、網(wǎng)站推廣。

1、map 根據(jù)value排序

Map map =new HashMap<>();
map.put("one", 0.08);
map.put("two", 0.1);
map.put("three", 0.2);
map.put("four", 0.91);

上面是項目中的一個中間結(jié)果,我們需要對這個map根據(jù)value值倒序排序,下面給出工具類:

  public > Map sortByValue(Map map) {
    Map result = new LinkedHashMap<>();
 
    map.entrySet().stream()
        .sorted(Map.Entry.comparingByValue()
            .reversed()).forEachOrdered(e -> result.put(e.getKey(), e.getValue()));
    return result;
  }

當然如果我們想根據(jù)map的key進行排序,需要對上面的工具類進行小小的修改,代碼如下:

 public , V > Map sortByKey(Map map) {
    Map result = new LinkedHashMap<>();
 
    map.entrySet().stream()
        .sorted(Map.Entry.comparingByKey()
            .reversed()).forEachOrdered(e -> result.put(e.getKey(), e.getValue()));
    return result;
  }

我們可以看到,如果我們需要根據(jù)key排序,就需要讓key 繼承 Comparable ,也就說我們需要對待排序的字段繼承 Comparable接口。另一個問題就是,上面的這種寫法排序效果是 降序排序,如果我們需要升序排序的話,只需要將上面的.reversed()關(guān)鍵字限制去掉即可。

 public > Map sortByValue(Map map) {
    Map result = new LinkedHashMap<>();
 
    map.entrySet().stream()
        .sorted(Map.Entry.comparingByValue()
            ).forEachOrdered(e -> result.put(e.getKey(), e.getValue()));
    return result;
  }

關(guān)于怎么在java8中使用stream 操作map就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


名稱欄目:怎么在java8中使用stream操作map
文章起源:http://weahome.cn/article/jspsoo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部