ในการจัดเรียงออบเจกต์ที่ผู้ใช้กำหนดใน 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' สร้าง hashmap ที่จับคู่เลขจำนวนเต็มและรายการอาร์เรย์ โดยจะวนซ้ำค่าต่างๆ และตรวจสอบเพื่อดูว่ารายการใดเป็นสตริงและรายการใดเป็นองค์ประกอบจำนวนเต็ม และจัดเรียงตามค่าจำนวนเต็ม ในฟังก์ชันหลัก ออบเจ็กต์สตริงจะถูกสร้างขึ้นและมีการเรียกใช้ฟังก์ชันบนออบเจ็กต์สตริงนี้ และข้อความที่เกี่ยวข้องจะแสดงบนคอนโซล