Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में कलेक्शन को रीड-ओनली (अपरिवर्तनीय) कैसे बनाएं?

java.util.Collections क्लास किसी भी कलेक्शन के अनमॉडिफिएबल (रीड-ओनली) व्यू प्राप्त करने के लिए unmodifiableXxx() विधियाँ प्रदान करती है। संशोधन का कोई भी प्रयास UnsupportedOperationException फेंकता है।

मुख्य विधियाँ

क्र.सं.विधि और विवरण
1static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c)
2static <T> List<T> unmodifiableList(List<? extends T> list)
3static <K,V> Map<K,V> unmodifiableMap(Map<? extends K,? extends V> m)
4static <T> Set<T> unmodifiableSet(Set<? extends T> s)
5static <K,V> SortedMap<K,V> unmodifiableSortedMap(SortedMap<K,? extends V> m)
6static <T> SortedSet<T> unmodifiableSortedSet(SortedSet<T> s)

उदाहरण

import java.util.*;

public class ReadOnlyCollection {
    public static void main(String[] args) {
        List list = new ArrayList<>();
        list.add("JavaFx");
        list.add("Java");
        list.add("WebGL");
        list.add("OpenCV");
        System.out.println("Original: " + list);

        List readOnlyList = Collections.unmodifiableList(list);
        System.out.println("Read-only: " + readOnlyList);

        // संशोधन का प्रयास - अपवाद फेंकेगा
        readOnlyList.add("CoffeeScript");
    }
}

आउटपुट

Original: [JavaFx, Java, WebGL, OpenCV]
Read-only: [JavaFx, Java, WebGL, OpenCV]
Exception in thread "main" java.lang.UnsupportedOperationException
    at java.util.Collections$UnmodifiableCollection.add(Unknown Source)
    at ReadOnlyCollection.main(ReadOnlyCollection.java:20)

नोट

  • यह एक व्यू बनाता है; मूल कलेक्शन अभी भी संशोधित किया जा सकता है।
  • Java 10+ के लिए, List.of(), Set.of(), Map.of() सही मायने में अपरिवर्तनीय कलेक्शन बनाते हैं।
  1. Java में JTextField को केवल नंबर स्वीकार करने के लिए कैसे बनाएं? Java में JTextField को केवल नंबर स्वीकार करने के लिए कैसे बनाएं?

    डिफ़ॉल्ट रूप से, एक JTextField नंबर्स, कैरेक्टर्स, और स्पेशल कैरेक्टर्स की अनुमति देता है। JTextField में टाइप किए गए यूज़र इनपुट को मान्य करना मुश्किल हो सकता है, खासकर अगर इनपुट स्ट्रिंग को int जैसे न्यूमेरिक वैल्यू में कन्वर्ट करना हो। नीचे दिए गए उदाहरण में, JTextField केवल न्यूमेरिक वैल्यूज़ ए

  1. Tkinter Text Widget को Read-Only कैसे बनाएं? Tkinter Text Widget को Read-Only कैसे बनाएं?

    Tkinter में, कभी-कभी हम text widget को disable करना चाह सकते हैं। इसे achieve करने के लिए, हम text configuration को DISABLED set कर सकते हैं। यह text widget को freeze कर देगा और इसे read-only बना देगा। इस उदाहरण में, हम एक text widget और एक button बनाएंगे जो users को text widget को instantly disable

  1. Windows 11/10 में फ़ाइल या फ़ोल्डर को हिडन या रीड-ओनली कैसे बनाएं Windows 11/10 में फ़ाइल या फ़ोल्डर को हिडन या रीड-ओनली कैसे बनाएं

    इस पोस्ट में, हम आपको दिखाएंगे कि आप अपने Windows 11/10 PC पर अपनी फ़ाइलों या फ़ोल्डर्स को हिडन या रीड-ओनली कैसे बना सकते हैं। जब आप किसी फ़ाइल को हिडन के रूप में सेट करते हैं, तो लोग फ़ाइल या फ़ोल्डर को नहीं देख पाएंगे। जब आप किसी फ़ाइल को रीड-ओनली पर सेट करते हैं, तो लोग फ़ाइल को पढ़ पाएंगे लेकिन