Program Java untuk Menyortir Peta Berdasarkan Nilai

Dalam program ini, Anda akan belajar mengurutkan peta yang diberikan berdasarkan nilai di Java.

Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman Java berikut:

  • Antarmuka Peta Java
  • Java LinkedHashMap

Contoh: Mengurutkan peta berdasarkan nilai

 import java.util.*; public class Main ( public static void main(String() args) ( // create a map and store elements to it LinkedHashMap capitals = new LinkedHashMap(); capitals.put("Nepal", "Kathmandu"); capitals.put("India", "New Delhi"); capitals.put("United States", "Washington"); capitals.put("England", "London"); capitals.put("Australia", "Canberra"); // call the sortMap() method to sort the map Map result = sortMap(capitals); for (Map.Entry entry : result.entrySet()) ( System.out.print("Key: " + entry.getKey()); System.out.println(" Value: " + entry.getValue()); ) ) public static LinkedHashMap sortMap(LinkedHashMap map) ( List  capitalList = new LinkedList(map.entrySet()); // call the sort() method of Collections Collections.sort(capitalList, (l1, l2) -> l1.getValue().compareTo(l2.getValue())); // create a new map LinkedHashMap result = new LinkedHashMap(); // get entry from list to the map for (Map.Entry entry : capitalList) ( result.put(entry.getKey(), entry.getValue()); ) return result; ) ) 

Keluaran

 Kunci: Australia Nilai: Canberra Kunci: Nepal Nilai: Kathmandu Kunci: Inggris Nilai: London Kunci: India Nilai: New Delhi Kunci: Amerika Serikat Nilai: Washington

Dalam program di atas, kami telah membuat LinkedHashMapibukota bernama. Peta tersebut menyimpan negara dan ibukotanya masing-masing.

Di sini, kami telah membuat sortMap()metode yang mengambil peta dan mengembalikan peta yang diurutkan.

Di dalam metode ini, pertama-tama kita membuat daftar bernama capitalList dari ibukota peta. Kami kemudian menggunakan sort()metode Collectionsuntuk mengurutkan elemen daftar.

The sort()Metode membutuhkan dua parameter: daftar akan diurutkan dan komparator . Dalam kasus kami, pembandingnya adalah ekspresi lambda.

 (l1, l2) -> l1.getValue().compareTo(l2.getValue())

Di sini, ekspresi lambda mengambil dua elemen yang berdekatan (l1 dan l2) dari daftar. Kemudian digunakan getValue()metode untuk mendapatkan nilai dan compareTo()metode untuk membandingkan dua nilai.

Setelah operasi, kita mendapatkan daftar kapitalList yang diurutkan. Kemudian, kami cukup mengonversi daftar menjadi LinkedHashMaphasil bernama dan mengembalikannya.

Kembali ke main()metode, kami mengulang setiap item di peta dan mencetak kunci dan nilainya.

Artikel yang menarik...