فرز المفاتيح في HashTable في Java

لا يمكنك فرز HashTable بمفاتيحه، ولكن يمكنك إنقاذ مجموعة ArrayList التي تم اكتشافها في وسيطة الأسلوب Collections.sort().

في هذا المثال، نقوم بنسخ المفاتيح من HashTable إلى ArrayList. يتم الحصول على المفاتيح باستخدام نمط keySet () < / span > ، ثم اتصل ب Collections.sort() الذي يأخذ كحجة ArrayList الذي تم إنشاؤه حديثا والذي يحتوي على مفاتيحنا.

import java.util.ArrayList; 
import java.util.Collections;
import java.util.Hashtable;
import java.util.List;
import java.util.map;

الطبقة العامة TriTreeMap {

الفراغ العام الثابت الرئيسي (سلسلة [] args) {

// إنشاء hashtable
Hashtable ht = جديد Hashtable ();

//add key-value pairs
ht.put("d"، "الرابع")؛
ht.put("a"، "الأول")؛
ht.put ("c" ، "الثالث") ؛
ht.put("e"، "الخامس")؛
ht.put ("b" ، "second") ؛

System.out.println("قبل الفرز:");
ل (Map.Entry إدخال: ht.entrySet())
{
System.out.println(entry.getKey());
}

//إنشاء قائمة صفيف باستخدام المفاتيح المستردة من hashtable
List listcles = ArrayList (ht.keySet ()) ؛
//sortarraylist
Collections.sort (listcles) ؛

System.out.println ("بعد الفرز:") ؛
ل (مفتاح السلسلة: listcles)
System.out.println (cle) ؛
} < br / >}
< / string >< / string >< / string >< / string >< / string >< / pre> الإخراج:

< pre class = "prettyprint lang-java" > قبل الفرز:
b
a
e
d
c
بعد الفرز:
أ < ب / > ب < ب / >ج< ب / >د< ب / >ه < / ما قبل >< / ديف>