Java教程

Java 按值对地图进行排序的程序

Java 程序按值对地图进行排序

在本程序中,您将学习在 Java 中按值对给定地图进行排序。
要理解此示例,您应该了解以下Java 编程主题:
Java 地图界面 Java LinkedHashMap

示例: 按值对地图进行排序

import java.util.*;
public class Main {
  public static void main(String[] args) {
    // create a map and store elements to it
    LinkedHashMap
    
     
      
      capitals =
       new LinkedHashMap(); capitals.
      put(
      "Nepal", 
      "Kathmandu"); capitals.
      put(
      "India", 
      "New Delhi"); capitals.
      put(
      "United States", 
      "Washington"); capitals.
      put(
      "England", 
      "London"); capitals.
      put(
      "Australia", 
      "Canberra"); 
      // call the sortMap() method to sort the map Map
     
      
        result = sortMap(capitals); 
       for (Map.Entry 
       
         en
        try : result.
        entrySet()) { System.
        out.print(
        "Key: " + entry.
        getKey()); System.
        out.println(
        " Value: " + entry.
        getValue()); } } 
        public 
        static LinkedHashMap 
        
          sortMap(LinkedHashMap 
         
           map) { List 
          
           try string> > capitalList =
            new LinkedList(map.
           entrySet()); 
           // call the sort() method of Collections Collections.sort(capitalList, (l1, l2)-> l1.getValue().compareTo(l2.getValue())); // create a new map LinkedHashMap 
           
             result =
             new LinkedHashMap(); 
            // get entry from list to the map for (Map.Entry 
            
              en
             try : capitalList) { result.
             put(entry.
             getKey(), entry.
             getValue()); } 
             return result; } } 
             
             
          
          
         
        
      
    
     
输出
Key: Australia Value: Canberra
Key: Nepal Value: Kathmandu
Key: England Value: London
Key: India Value: new Delhi
Key: United States Value: Washington
在上面的程序中,我们创建了一个名为 capitalsLinkedHashMap。该地图存储了国家及其各自的首都。
在这里,我们创建了一个 sortMap() 方法,该方法获取地图并返回排序后的地图。
在方法内部,我们首先从地图 capitals 创建了一个名为 capitalList 的列表。然后我们使用 Collectionssort() 方法对列表的元素进行排序。
sort() 方法接受两个参数: 要排序的列表和比较器。在我们的例子中,比较器是一个 lambda 表达式。
(l1, l2)-> l1.getValue().compareTo(l2.getValue())
这里,lambda 表达式采用列表的两个相邻元素( l1l2)。然后使用 getValue() 方法获取值,使用 compareTo() 方法比较两个值。
操作后,我们得到排序列表 capitalList。然后,我们只需将列表转换为名为 resultLinkedHashMap 并返回它。
回到 main() 方法,我们遍历地图中的每个项目并打印其键和值。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4