إعلان
تعلم الآن

لماذا العناصر في Hashtable لم تظهر بنفس الترتيب الذي وضِعت فيه؟

السلام عليكم.

ليس لدي مشكلة في فهم الكود التالي و لكنني أريد معرفة سبب ظهور عناصر الكائن Hashtable بترتيب مختلف في النتيجة.

import java.util.Hashtable;       // Hashtable هنا قمنا باستدعاء الكلاس
import java.util.Enumeration;      // Enumeration هنا قمنا باستدعاء الكلاس
 
public class Main {
 
  public static void main(String[] args) {
 
    // و الذي سنضع فيه كود البلد و إسمه h إسمه Hashtable هنا قمنا بتعريف كائن نوعه
    Hashtable h = new Hashtable();
 
    // كل عنصر يحتوي على كود البلد كمفتاح و إسمه كقيمة .h هنا قمنا بإضافة 12 عنصر في الكائن
    h.put("+961", "Lebanon");
    h.put("+962", "Jordan");
    h.put("+963", "Syria");
    h.put("+964", "Iraq");
    h.put("+965", "Kuwait");
    h.put("+966", "KSA");
    h.put("+967", "Yaman");
    h.put("+968", "Oman");
    h.put("+970", "Palestine");
    h.put("+212", "Morocco");
    h.put("+281", "Libya");
    h.put("+20", "Egypt");
 
    // أي وضعنا اكواد البلاد فيه .keys بداخل الكائن h هنا قمنا بتخزين جميع مفاتيح الكائن
    Enumeration keys = h.keys();
 
    // أي وضعنا أسماء البلاد فيه .values بداخل الكائن h هنا قمنا بتخزين جميع قيم الكائن
    Enumeration values = h.elements();
 
    System.out.println("The table below contains all Codes & Countries \n");
    System.out.println("---------------------");
    System.out.println("Code \t | Country");
    System.out.println("---------------------");
 
    // لا يزال يحتوي على مفاتيح keys هنا أنشأنا حلقة تستمر في تكرار نفسها طالما أن الكائن
    // الفكرة هنا المرور على جميع المفاتيح الموجودة و عرض كل مفتاح موجود و قيمته
    while( keys.hasMoreElements() ) {
      System.out.println(keys.nextElement() + "\t | " + values.nextElement());
    }
    System.out.println("---------------------\n");
 
 
    // KSA هنا قمنا بالبحث عن إسم البلد الذي يملك الكود 996+ فكان الجواب
    System.out.println("Which Country use the code +966 ?");
    System.out.println(h.get("+966"));
 
  }
 
}

نتيجة الكود:

The table below contains all Codes & Countries

---------------------
Code   | Country
---------------------
+281   | Libya
+966   | KSA
+965   | Kuwait
+964   | Iraq
+963   | Syria
+962   | Jordan
+961   | Lebanon
+212   | Morocco
+20    | Egypt
+970   | Palestine
+968   | Oman
+967   | Yaman

لماذا لم تظهر بنفس الترتيب الذي كتب فيه الكود كالتالي؟

"+961", "Lebanon"
"+962", "Jordan"
"+963", "Syria"
"+964", "Iraq"
"+965", "Kuwait"
"+966", "KSA"
"+967", "Yaman"
"+968", "Oman"
"+970", "Palestine"
"+212", "Morocco"
"+281", "Libya"
"+20",  "Egypt"

إجابات 1

أضف إجابة

يجب تسجيل الدخول حتى تتمكن من إضافة إجابة أو رد.

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة