اجعل Hashtable غير قابل للتغيير وللقراءة فقط في Java

لأسباب أمنية ، من الضروري في بعض الأحيان تغيير حقوق الوصول لتجنب التعديل الخاطئ. لهذا السبب وضعت Java طريقة تجعل Hashtable الخاص بنا غير قابل للوصول للكتابة أو بعبارة أخرى ، Hashtable لا يمكن تعديله للقراءة فقط.

لتغيير حقوق الوصول ، عليك فقط استدعاء طريقة فئة المجموعات java.util.Collections.unmodifiableMap(خريطة الخريطة).

< الثابتة العامة ك ، الخامس > خريطة< ك ، الخامس > خريطة غير قابلة للتعديل (خريطة<؟ يمتد K ،؟ يمتد V> m) < / span>: ترجع هذه الطريقة طريقة عرض Hashtable غير قابلة للتغيير لا يمكن تحريرها.

< / span >< span style = "عائلة الخط: وراثة ؛" >يوضح المثال التالي استخدام < / span >< span style = "عائلة الخط: 'ساعي جديد' ، ساعي ، ميني فان ؛" >java.util.Collections.unmodifiableMap()
.< / span>

< pre class = "prettyprint lang-java" >import java.util.Collections ؛
import java.util.Hashtable;
import java.util.map;

Unmodifiable_Hashtable الفئة العامة {
الفراغ الثابت العام الرئيسي (سلسلة [] s) {
هاشتابل هاشتابل = هاشتابل جديد ();
hashtable.put("1", "val1");
hashtable.put("2"، "val2")؛
hashtable.put("3"، "val3");

Map m = Collections.unmodifiableMap (hashtable);

m.put("4"، "val4")؛

System.out.println(m);
}
}
< / pre> بعد تجميع وتنفيذ الكود أعلاه ، سيؤدي ذلك إلى النتيجة التالية:

 استثناء في الموضوع "الرئيسي" java.lang.UnsupportedOperationException 
في java.util.Collections$UnmodifiableMap.put(مصدر غير معروف)
في HashTable.Unmodifiable_Hashtable.main(Unmodifiable_Hashtable.java:16)
المراجع:
java.util.Collections.unmodifiableMap() Method