আমি একটি তুলনামূলক লিখতে চাই যা আমাকে ডিফল্ট প্রাকৃতিক অর্ডারের পরিবর্তে একটি ট্রিম্যাপকে মান অনুসারে বাছাই করতে দেয়।
আমি এরকম কিছু চেষ্টা করেছি, তবে কী ভুল হয়েছে তা খুঁজে পাচ্ছি না:
import java.util.*;
class treeMap {
public static void main(String[] args) {
System.out.println("the main");
byValue cmp = new byValue();
Map<String, Integer> map = new TreeMap<String, Integer>(cmp);
map.put("de",10);
map.put("ab", 20);
map.put("a",5);
for (Map.Entry<String,Integer> pair: map.entrySet()) {
System.out.println(pair.getKey()+":"+pair.getValue());
}
}
}
class byValue implements Comparator<Map.Entry<String,Integer>> {
public int compare(Map.Entry<String,Integer> e1, Map.Entry<String,Integer> e2) {
if (e1.getValue() < e2.getValue()){
return 1;
} else if (e1.getValue() == e2.getValue()) {
return 0;
} else {
return -1;
}
}
}
আমি অনুমান করছি আমি যা জিজ্ঞাসা করছি তা: আমি কি Map.Entryতুলকের সাথে পাস করতে পারি ?