Program Java za razvrščanje zemljevida po vrednostih

V tem programu se boste naučili razvrščati dani zemljevid po vrednostih v Javi.

Če želite razumeti ta primer, morate poznati naslednje programske teme Java:

  • Zemljevidski vmesnik Java
  • Java LinkedHashMap

Primer: Zemljevid razvrstite po vrednostih

 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; ) ) 

Izhod

 Ključ: Avstralija Vrednost: Canberra Ključ: Nepal Vrednost: Katmandu Ključ: Anglija Vrednost: London Ključ: Indija Vrednost: New Delhi Ključ: ZDA Vrednost: Washington

V zgornjem programu smo ustvarili LinkedHashMapimenovane prestolnice. Na zemljevidu so shranjene države in njihove prestolnice.

Tu smo ustvarili sortMap()metodo, ki vzame zemljevid in vrne razvrščeni zemljevid.

Znotraj metode smo najprej ustvarili seznam z imenom capitalList iz velikih mest na zemljevidu. Nato uporabimo sort()metodo Collectionsrazvrščanja elementov seznama.

sort()Postopek traja dva parametra: seznam je treba sortirati in primerjalnim . V našem primeru je primerjalnik lambda izraz.

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

Tukaj lambda izraz zavzame dva sosednja elementa (l1 in l2) seznama. Nato je getValue()metodo uporabil za pridobitev vrednosti in compareTo()metodo za primerjavo dveh vrednosti.

Po operaciji dobimo razvrščen seznam capitalList. Nato seznam preprosto pretvorimo v LinkedHashMapimenovani rezultat in ga vrnemo.

Nazaj v main()metodi preletimo vsak element na zemljevidu in natisnemo njegov ključ in vrednost.

Zanimive Članki...