Computer >> Máy Tính >  >> Lập trình >> Java

Sử dụng TreeMap để sắp xếp các đối tượng do người dùng định nghĩa trong Java

Để sắp xếp đối tượng do người dùng xác định trong Java, mã như sau -

Ví dụ

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);
   }
}

Đầu ra

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

Một lớp có tên Demo chứa một hàm có tên là ‘sort_objects’ tạo ra một bản đồ băm ánh xạ bộ tích hợp và danh sách mảng. Nó lặp qua các giá trị và kiểm tra xem đâu là chuỗi và đâu là phần tử số nguyên và chúng được sắp xếp dựa trên các giá trị số nguyên. Trong hàm chính, đối tượng chuỗi được tạo và hàm được gọi trên đối tượng chuỗi này và thông báo liên quan được hiển thị trên bảng điều khiển.