जावा में पढ़ें, आप ArrayList
केवल पढ़ने के लिए कैसे बना सकते हैं (ताकि कोई भी प्रारंभ करने के बाद तत्वों को जोड़, संपादित या हटा सके)?ऐरेलिस्ट को केवल
44
A
उत्तर
86
Collections.unmodifiableList() में ArrayList पास करें। यह निर्दिष्ट सूची का एक अपरिवर्तनीय दृश्य देता है। केवल इस लौटाई गई सूची का उपयोग करें, और कभी भी मूल ऐरेलिस्ट नहीं।
0
क्या आप वाकई इस मामले में ArrayList
का उपयोग करना चाहते हैं?
शायद पहले अपनी जानकारी के साथ ArrayList
को पॉप्युलेट करना बेहतर होगा, और फिर जावा प्रोग्राम प्रारंभ होने पर ArrayList
को अंतिम सरणी में परिवर्तित करना बेहतर होगा।
2
संग्रह ऑब्जेक्ट को Collections.unmodifiableList() पर पास करें। नमूना उदाहरण के नीचे देखें।
import java.util.*;
public class CollDemo
{
public static void main(String[] argv) throws Exception
{
List stuff = Arrays.asList(new String[] { "a", "b" });
List list = new ArrayList(stuff);
list = Collections.unmodifiableList(list);
Set set = new HashSet(stuff);
set = Collections.unmodifiableSet(set);
Map map = new HashMap();
map = Collections.unmodifiableMap(map);
System.out.println("Collection is read-only now.");
}
}
0
की इसके समकक्ष unmodifiable कार्य करने के लिए दर्रा संग्रह वस्तु संग्रह वर्ग कोड निम्नलिखित चलता unmodifiableList के उपयोग
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Temp {
public static void main(String[] args) {
List<Integer> objList = new ArrayList<Integer>();
objList.add(4);
objList.add(5);
objList.add(6);
objList.add(7);
objList = Collections.unmodifiableList(objList);
System.out.println("List contents " + objList);
try {
objList.add(9);
} catch(UnsupportedOperationException e) {
e.printStackTrace();
System.out.println("Exception occured");
}
System.out.println("List contents " + objList);
}
}
उसी तरह आप अन्य संग्रह unmodifiable रूप में अच्छी तरह
- संग्रह बना सकते हैं .unmodifiableMap (नक्शा);
- संग्रह .unmodifiableSet (सेट);
संबंधित मुद्दे
- 1. ऐरेलिस्ट अनलोलिंग
- 2. मानचित्र/ऐरेलिस्ट: तत्व
- 3. ऐरेलिस्ट तत्व केस-असंवेदनशील
- 4. एक ऐरेलिस्ट जावा
- 5. एक ऐरेलिस्ट जावा
- 6. खाली ऐरेलिस्ट बराबर
- 7. जावा ऐरेलिस्ट एन तत्वों को चुनें
- 8. जावा में ऐरेलिस्ट और
- 9. ऐरे के जावा ऐरेलिस्ट?
- 10. ऐरेलिस्ट क्षमता और आकार
- 11. ऐरेलिस्ट या हैश मैप
- 12. सिल्वरलाइट और ऐरेलिस्ट
- 13. जावा ऐरेलिस्ट सूचकांक
- 14. जावा ऐरेलिस्ट JList
- 15. पूर्णांक के लिए जावा ऐरेलिस्ट
- 16. ऐरेलिस्ट सम्मिलन और पुनर्प्राप्ति आदेश
- 17. ऐरेलिस्ट - किसी ऑब्जेक्ट के सदस्य को कैसे संशोधित करें?
- 18. सूची (स्ट्रिंग का) या ऐरे या ऐरेलिस्ट
- 19. एंड्रॉइड स्क्रीन पर कस्टम ऐरेलिस्ट को कैसे सहेजना है?
- 20. जावा में ऐरेलिस्ट से विशिष्ट ऑब्जेक्ट को कैसे निकालें?
- 21. जावा में ऐरे के ऐरेलिस्ट को क्रमबद्ध करें
- 22. ऐरेलिस्ट <Integer> प्राप्त/निकालने विधि
- 23. अंतिम ऐरेलिस्ट की भावना क्या है?
- 24. एक ऐरेलिस्ट में इंडेक्स खोजें जिसमें स्ट्रिंग
- 25. ऐरेलिस्ट 10 की डिफ़ॉल्ट क्षमता क्यों है?
- 26. एक ऐरेलिस्ट के साथ गलत क्या है?
- 27. सूचियाँ। नया ऑरेलेस्ट बनाम नया ऐरेलिस्ट
- 28. विस्तारित ऐरेलिस्ट और नई विधियां बनाना
- 29. मेरा ऐरेलिस्ट कहाँ गया? मेट्रो ऐप
- 30. मैं जावा में किसी ऐरेलिस्ट से ऑब्जेक्ट को कैसे हटा सकता हूं?
"... और केवल लौटाई गई सूची का उपयोग करें, और कभी भी मूल 'ArrayList'' यहां एक बहुत ही महत्वपूर्ण जोड़ नहीं है! उस विधि में 'ArrayList' को पास करना ऑब्जेक्ट को जादुई रूप से परिवर्तित नहीं करता है। यह केवल एक अपरिवर्तनीय रैपर देता है। –
@ जोचिम सॉर - महान बिंदु! –
कभी-कभी आप मूल 'ArrayList' रखना चाहते हैं। किसी वस्तु के भीतर encapsulated डेटा के 'सूची' जैसे दृश्य को उजागर करने के लिए यह एक महान तकनीक हो सकती है। ऑब्जेक्ट में संशोधन 'सूची' दृश्य को अपडेट करेगा, लेकिन दृश्य स्वयं किसी भी संशोधन को स्वीकार नहीं करता है। – Matthew