How to sort HashMap values in ArrayList and entrySet in ascending 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 val1.getValue().compareTo(val2.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:
  
c : 1
python : 2
java : 3
c++ : 4
swift : 5
  
*/

 



answered Oct 11, 2020 by avibootz

Related questions

2 answers 161 views
1 answer 124 views
2 answers 198 views
1 answer 155 views
1 answer 193 views
...