使用 TreeMap 來對 Java 中的使用者自定義物件進行排序


要在 Java 中對使用者自定義物件進行排序,程式碼如下:

示例

 即時演示

import java.io.*;
import java.util.*;
public class Demo{
   static void sort_objects(String my_data){
      String[] my_vals = my_data.split(" ");
      Map<Integer, ArrayList<String> > my_map = new TreeMap<>();
      for (int i = 1; i < my_vals.length; i += 2){
         int my_age = Integer.parseInt(my_vals[i]);
         String name = my_vals[i - 1];
         if (my_map.containsKey(my_age)){
            ArrayList<String> my_list = my_map.get(my_age);
            my_list.add(name);
            Collections.sort(my_list);
            my_map.remove(my_age);
            my_map.put(my_age, my_list);
         }
         else{
            ArrayList<String> my_list = new ArrayList<>();
            my_list.add(name);
            my_map.put(my_age, my_list);
         }
      }
      for (Map.Entry<Integer, ArrayList<String> > entry : my_map.entrySet()){
         ArrayList<String> al1 = entry.getValue();
         for (int i = 0; i < al1.size(); i++)
         System.out.print(al1.get(i) + " " + entry.getKey() + " ");
      }
   }
   public static void main(String args[]){
      String my_obj = "Joe 36 Hannah 24 Jill 13 Jack 1 Preet 8 Deep 45";
      System.out.println("The objects after sorting are : ");
      sort_objects(my_obj);
   }
}

輸出

The objects after sorting are :
Jack 1 Preet 8 Jill 13 Hannah 24 Joe 36 Deep 45

一個名為 Demo 的類包含一個 名為 'sort_objects' 的函式,該函式建立一個對映整數和陣列列表的雜湊表。它遍歷這些值,檢查哪些是字串哪些是整數元素,並根據整數值對它們進行排序。在主函式中,建立字串物件並在該字串物件上呼叫該函式,並在控制檯上顯示相關訊息。

更新日期:09-Jul-2020

153 次瀏覽

啟動你的 職業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.