使用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("排序后的对象是:");       sort_objects(my_obj);    } }

输出结果

排序后的对象是: Jack 1 Preet 8 Jill 13 Hannah 24 Joe 36 Deep 45

名为Demo的类包含一个名为sort_objects的函数,该函数创建一个将整数和数组列表映射的哈希表。 它遍历这些值,并检查哪个是字符串,哪个是整数元素,并根据整数值对它们进行排序。 在main函数中,将创建字符串对象,并在该字符串对象上调用该函数,并在控制台上显示相关消息。