ในบทความนี้ เราจะเข้าใจวิธีการจัดเรียงแผนที่ตามค่าต่างๆ Java HashMap เป็นการใช้ตารางแฮชของอินเทอร์เฟซแผนที่ของ Java เป็นชุดของคู่คีย์-ค่า
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
สมมติว่าข้อมูลที่เราป้อนคือ −
Input HashMap: Key = Java, Value = 45 Key = Scala, Value = 20 Key = Mysql, Value = 11 Key = Python, Value = 75
ผลลัพธ์ที่ต้องการจะเป็น −
The HashMap after sorting is: Key = Mysql, Value = 11 Key = Scala, Value = 20 Key = Java, Value = 45 Key = Python, Value = 75
อัลกอริทึม
Step 1 - START Step 2 - Declare namely Step 3 - Define the values. Step 4 - Use the ‘sort’ method to sort the elements of the map. Step 5 - Use the ‘getValue’ method to fetch the values and use the ‘compareTo’ method to comare two values. Step 6 - Iterate through the hashmap, and use the ‘getKey’ method to fetch the values into ‘temp’. Use ‘temp’ as the return value. Step 7 - Display the result Step 8 - Stop
ตัวอย่างที่ 1
ที่นี่ เราเชื่อมโยงการดำเนินการทั้งหมดเข้าด้วยกันภายใต้ฟังก์ชัน 'หลัก'
import java.util.*;
import java.lang.*;
public class Demo {
public static HashMap<String, Integer> sort(HashMap<String, Integer> input_map){
List<Map.Entry<String, Integer> > list =
new LinkedList<Map.Entry<String, Integer> >(input_map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer> >() {
public int compare(Map.Entry<String, Integer> o1,
Map.Entry<String, Integer> o2){
return (o1.getValue()).compareTo(o2.getValue());
}
});
HashMap<String, Integer> temp = new LinkedHashMap<String, Integer>();
for (Map.Entry<String, Integer> aa : list) {
temp.put(aa.getKey(), aa.getValue());
}
return temp;
}
public static void main(String[] args){
HashMap<String, Integer> input_map = new HashMap<String, Integer>();
input_map.put("Java", 45);
input_map.put("Scala", 20);
input_map.put("Mysql", 11);
input_map.put("Python", 75);
System.out.println("The HashMap is defined as:");
for (Map.Entry<String, Integer> element : input_map.entrySet()) {
System.out.println("Key = " + element.getKey() + ", Value = " + element.getValue());
}
Map<String, Integer> result_map = sort(input_map);
System.out.println("\nThe HashMap after sorting is:");
for (Map.Entry<String, Integer> element : result_map.entrySet()) {
System.out.println("Key = " + element.getKey() + ", Value = " + element.getValue());
}
}
} ผลลัพธ์
The HashMap is defined as: Key = Java, Value = 45 Key = Scala, Value = 20 Key = Mysql, Value = 11 Key = Python, Value = 75 The HashMap after sorting is: Key = Mysql, Value = 11 Key = Scala, Value = 20 Key = Java, Value = 45 Key = Python, Value = 75
ตัวอย่างที่ 2
ในที่นี้ เราสรุปการดำเนินการเป็นฟังก์ชันที่แสดงการเขียนโปรแกรมเชิงวัตถุ
import java.util.*;
import java.lang.*;
public class Demo {
public static void main(String[] args){
HashMap<String, Integer> input_map = new HashMap<String, Integer>();
input_map.put("Java", 45);
input_map.put("Scala", 20);
input_map.put("Mysql", 11);
input_map.put("Python", 75);
System.out.println("The HashMap is defined as:");
for (Map.Entry<String, Integer> element : input_map.entrySet()) {
System.out.println("Key = " + element.getKey() + ", Value = " + element.getValue());
}
List<Map.Entry<String, Integer> > list =
new LinkedList<Map.Entry<String, Integer> >(input_map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer> >() {
public int compare(Map.Entry<String, Integer> o1,
Map.Entry<String, Integer> o2){
return (o1.getValue()).compareTo(o2.getValue());
}
});
HashMap<String, Integer> result_map = new LinkedHashMap<String, Integer>();
for (Map.Entry<String, Integer> aa : list) {
result_map.put(aa.getKey(), aa.getValue());
}
System.out.println("\nThe HashMap after sorting is:");
for (Map.Entry<String, Integer> element : result_map.entrySet()) {
System.out.println("Key = " + element.getKey() + ", Value = " + element.getValue());
}
}
} ผลลัพธ์
The HashMap is defined as: Key = Java, Value = 45 Key = Scala, Value = 20 Key = Mysql, Value = 11 Key = Python, Value = 75 The HashMap after sorting is: Key = Mysql, Value = 11 Key = Scala, Value = 20 Key = Java, Value = 45 Key = Python, Value = 75