How to sort HashMap values in ArrayList and entrySet in descending order with Java

1 Answer

0 votes
import java.util.Comparator;
import java.util.ArrayList;
import java.util.Map.Entry;
import java.util.HashMap;

class CComparator implements Comparator<Entry<String, Integer>> {

    public int compare(Entry<String, Integer> val1, Entry<String, Integer> val2) {
            return val2.getValue().compareTo(val1.getValue());
    }
}
public class MyClass {
    public static void main(String args[]) {
        HashMap<String, Integer> hashmap = new HashMap<>();
  
        hashmap.put("java", 3);
        hashmap.put("c++", 4);
        hashmap.put("c", 1);
        hashmap.put("swift", 5);
        hashmap.put("python", 2);
        
        ArrayList<Entry<String, Integer>> al = new ArrayList<>();
        
        al.addAll(hashmap.entrySet());
        
        al.sort(new CComparator());

        for (Entry<String, Integer> e : al) {
            System.out.println(e.getKey() + " : " + e.getValue());
        }
    }
}
  
  
  
  
/*
run:
  
swift : 5
c++ : 4
java : 3
python : 2
c : 1
  
*/

 

 



answered Oct 11, 2020 by avibootz

Related questions

1 answer 111 views
1 answer 106 views
2 answers 182 views
1 answer 133 views
1 answer 165 views
1 answer 206 views
...