Program Java untuk Menyusun Peta Mengikut Nilai

Dalam program ini, anda akan belajar menyusun peta yang diberikan berdasarkan nilai di Java.

Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan Java berikut:

  • Antaramuka Peta Java
  • Java LinkedHashMap

Contoh: Susun peta mengikut 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; ) ) 

Pengeluaran

 Kunci: Australia Nilai: Canberra Kunci: Nepal Nilai: Kathmandu Kunci: England Nilai: London Kunci: India Nilai: New Delhi Kunci: Amerika Syarikat Nilai: Washington

Dalam program di atas, kami telah membuat LinkedHashMapibu kota bernama. Peta menyimpan negara dan ibu kota masing-masing.

Di sini, kami telah membuat sortMap()kaedah yang mengambil peta dan mengembalikan peta yang disusun.

Di dalam kaedah ini, kami mula-mula membuat senarai bernama capitalList dari ibu kota peta. Kami kemudian menggunakan sort()kaedah Collectionsuntuk menyusun unsur-unsur senarai.

The sort()Cara mengambil masa dua parameter: senarai diselesaikan dan comparator a . Dalam kes kami, pembanding adalah ungkapan lambda.

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

Di sini, ungkapan lambda mengambil dua elemen bersebelahan (l1 dan l2) senarai. Ia kemudian menggunakan getValue()kaedah untuk mendapatkan nilai dan compareTo()kaedah untuk membandingkan dua nilai.

Selepas operasi, kami mendapat senarai daftar modal yang disusun. Kemudian, kami hanya menukar senarai menjadi LinkedHashMaphasil yang dinamakan dan mengembalikannya.

Kembali ke main()kaedah ini, kami mencari setiap item dalam peta dan mencetak kunci dan nilainya.

Artikel menarik...