Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

لماذا العناصر في 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

أضف تعليق

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