شرح مفصل لجافا هاشماب ، تريماب ولينكدهاشماب
خلال المقابلة هذا الصباح ، سألت عن جافا وأشياء ذات صلة بالخرائط. تذكرت المحتوى المتعلق بـ Hashmap و Treemap بشكل خاطئ. عندما عدت ، حاولت بسرعة بعض العروض التوضيحية لفهمها.
حزمة خريطة استيراد java.util.*؛ hashmaps الفئة العامة {public static void main (string [] args) {map map = new hashmap () ؛ map.put ("a" ، "aaa") ؛ map.put ("B" ، "BBB") ؛ map.put ("C" ، "CCC") ؛ map.put ("d" ، "ddd") ؛ iterator iterator = map.keyset (). iterator () ؛ بينما (iterator.hasnext ()) {object key = iterator.next () ؛ System.out.println ("map.get (key) هو:" + map.get (مفتاح)) ؛ } علامة تبويب hashtable = new hashtable () ؛ tab.put ("A" ، "AAA") ؛ tab.put ("B" ، "BBB") ؛ tab.put ("C" ، "CCC") ؛ tab.put ("d" ، "ddd") ؛ iterator iterator_1 = tab.keyset (). iterator () ؛ بينما (iterator_1.hasnext ()) {object key = iterator_1.next () ؛ System.out.println ("tab.get (key) هو:" + tab.get (key)) ؛ } treemap tmp = new treemap () ؛ tmp.put ("A" ، "AAA") ؛ tmp.put ("B" ، "BBB") ؛ tmp.put ("C" ، "CCC") ؛ tmp.put ("d" ، "ddd") ؛ tmp.put ("A" ، "ABA") ؛ iterator iterator_2 = tmp.keyset (). iterator () ؛ بينما (iterator_2.hasnext ()) {object key = iterator_2.next () ؛ System.out.println ("tmp.get (المفتاح) هو:" + tmp.get (مفتاح)) ؛ } linkedHashMap <string ، integer> linkedHashMap = new LinkedHashMap <string ، integer> () ؛ LinkedHashMap.put ("dasdsa" ، 1) ؛ LinkedHashMap.put ("GDSF" ، 2) ؛ LinkedHashMap.put ("texvdfd" ، 3) ؛ LinkedHashMap.put ("bdada" ، 4) ؛ LinkedHashMap.put ("GDSF" ، 3) ؛ لـ (temp temp: linkedhashmap.keyset ()) {system.out.println (temp) ؛ }}} الخريطة تختلف عن القائمة. تستخدم الطبقة الأساسية شكل أزواج القيمة الرئيسية لتخزين البيانات. الخريطة. الدخول هو الدخول الفرعي الداخلي. تطبيقات مختلفة من MAP لها مخططات فهرس مختلفة لأزواج القيمة الرئيسية.
يستخدم HashMap نفسه وظيفة التجزئة لفهرسة قيم المفاتيح. لا يمكننا تحديد ترتيب القيم الرئيسية الأخيرة.
ومع ذلك ، هناك ظاهرة مثيرة للاهتمام عند استخدام عدد صحيح كزوج القيمة الرئيسية ، عندما تكون الأرقام رقم واحد ، يتم ترتيب القيمة الرئيسية من صغيرة إلى كبيرة ، وعندما ترتفع الأرقام إلى رقمين ، قد تكون هناك مشاكل.
هناك شجرة متوازنة داخل Treemap لتخزين فهارس القيمة الرئيسية. يقوم Treemap بفرز قيم المفاتيح وفقًا لوظيفة المقارنة. أتوقع أنه قد يكون هناك avltree في الداخل.
يحتوي LinkedHashMap على ميزة يتم فرز أزواج القيمة الرئيسية بترتيب الإدراج. إذا كانت هناك إدخال متكرر ، يتم تسجيلها بترتيب الإدراج الأول. واحدة من الأقوال على الإنترنت هي أن هناك تجزئة داخل الهيكل.
يحل المرء مشكلة الطلب ، والآخر يحل مشكلة التخزين ، ويتم تأكيد الصواب
Hashmap و Treemap هما هياكل الخريطة الأكثر استخدامًا. بشكل عام ، hashmap فعال نسبيا والأكثر شيوعا. فقط إذا احتجنا إلى طلب القيم الرئيسية ، فسنستخدم Treemap.
شكرا لك على القراءة ، آمل أن تساعدك. شكرا لك على دعمك لهذا الموقع!