map) {
this.tuple = map ؛
}
//يرتب هذا المقارن العناصر بترتيب تنازلي
@Override
int العام مقارنة (الكائن o1، الكائن o2) {
// TODO كعب طريقة تم إنشاؤه تلقائيا
إذا كان (int) tuple.get(o1) >= (int) tuple.get(o2)) {
return -1;
} آخر {
return 1;
}
}
}
< / string >< / string >< / string >< / string >< / string >< / string >< / string >< / pre>2) فرز HashMap باستخدام Collections.sort
في هذا المثال، سنقوم بفرز العناصر من النوع مزدوج. يتم نسخ العناصر إلى LinkedList الذي يقوم بتنفيذ واجهة القائمة ، ثم يتم فرزها باستخدام Collections.sort التي استخدمناها في المقالات السابقة لفرز مجموعات الكائنات الأخرى. بعد الفرز ، نقوم بنسخ العناصر التي تم فرزها من LinkedList إلى جدول تجزئة جديد سيتم إرجاعه كإخراج.
public static void main(String[] args) {
HashMap map = جديد HashMap();
map.put("A",18.5);
map.put("E",76.8);
map.put("C",24.1);
map.put("F",86.2);
map.put("D",5.7);
map.put("B",84.6);
System.out.println("قبل الفرز: "+map);
System.out.println ("بعد الفرز: "+ sortWithValue (خريطة)) ؛
}
HashMap ثابت عام< سلسلة ، مزدوجة> sortWithValue (HashMap< سلسلة ، مزدوجة> خريطة ){
قائمة< خريطة.دخول< سلسلة ، مزدوجة> > قائمة =
LinkedList جديدة< خريطة.دخول< سلسلة ، مزدوجة> > ( map.entrySet () );
Collections.sort (قائمة ، مقارنة جديدة< خريطة.دخول< سلسلة ، مزدوجة> > (){
public int compare( Map.Entry< سلسلة ، مزدوجة> o1 ، خريطة.إدخال< سلسلة ، مزدوجة> o2 ){
return (o1.getValue()).compareTo( o2.getValue());
}
})؛
HashMap< سلسلة ، مزدوجة> map_apres = خريطة لينكد هاش ماب جديدة< سلسلة ، مزدوجة> ();
ل(Map.Entry< سلسلة ، مزدوجة> إدخال: قائمة) < br / > map_apres.put ( entry.getKey () ، entry.getValue () ؛
map_apres العودة ؛
}
< / string >< / string >< / pre>run:
< pre class = "prettyprint lang-java" > قبل الفرز: {D = 5.7 ، E = 76.8 ، F = 86.2 ، A = 18.5 ، B = 84.6 ، C = 24.1}
بعد الفرز: {D = 5.7 ، A = 18.5 ، C = 24.1 ، E = 76.8 ، B=84.6, F=86.2}
للفرز في اتجاه تنازلي ، ما عليك سوى تغيير ترتيب المقارنة في المقارنة: الدالة
return(o2.getValue()).compareTo( o1.getValue());
< / string >< / pre> المراجع:
وثائق أوراكل - HashMap
TutorialsPoint - فئة HashMap
Documentation Comparator
وثائق LinkedHashMap < / a>