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

जावा में ArrayList को सिंक्रोनाइज़ करने के कितने तरीके हैं?


एक ArrayList सार सूची . का एक उपवर्ग है वर्ग और इसका उपयोग गतिशील रूप से आकार . स्टोर करने के लिए किया जा सकता है तत्वों का संग्रह। एक ArrayList नए तत्वों को समायोजित करने के लिए अपना आकार बढ़ाता है और तत्वों को हटा दिए जाने पर आकार को छोटा कर देता है, इसलिए इसे कहा जाता है। आकार बदलने योग्य या गतिशील सरणी. एक ArrayList डुप्लिकेट और शून्य मानों को अनुमति दे सकता है

जावा में ArrayList को सिंक्रोनाइज़ करने के दो तरीके हैं

Collections.synchronizedList() विधि

synchronizedList() जावा में संग्रह को सिंक्रनाइज़ करने के लिए विधि का उपयोग किया जाता है।

सिंटैक्स

public static List<T> synchronizedList(List<T> list)

उदाहरण

import java.util.*;
public class SynchronizedListTest {
   public static void main(String[] args) {
      List<String> list = new ArrayList<String>();
      list.add("IND");
      list.add("AUS");
      list.add("WI");
      list.add("NZ");
      list.add("ENG");
      List<String> synlist = Collections.synchronizedList(list);
      synchronized(synlist) {
         Iterator<String> itr = synlist.iterator();
         while(itr.hasNext()) {
            String str = itr.next();
            System.out.println(str);
         }
      }
   }
}

आउटपुट

IND
AUS
WI
NZ
ENG


CopyOnWriteArrayList

CopyOnWriteArrayList निर्दिष्ट संग्रह के क्रम में तत्वों की एक सूची तैयार करेगा। यह थ्रेड-सुरक्षित . है ArrayList की समवर्ती पहुँच। जब एक ArrayList को संशोधित किया जाता है, तो यह अंतर्निहित सरणी की एक नई प्रतिलिपि बनाएगा।

सिंटैक्स

public class CopyOnWriteArrayList<E> extends Object implements List<E>, RandomAccess, Cloneable, Serializable

उदाहरण

import java.util.*;
import java.util.concurrent.*;
public class CopyOnWriteArrayListTest {
   public static void main(String[] args) {
      CopyOnWriteArrayList list = new CopyOnWriteArrayList();
      list.add("Java");
      list.add("Scala");
      list.add("Python");
      list.add("Selenium");
      list.add("ServiceNow");
      System.out.println("Displaying synchronized ArrayList: ");
      Iterator itr = list.iterator();
      while(itr.hasNext()) {
         String str = itr.next();
         System.out.println(str);
      }
   }
}

आउटपुट

Displaying synchronized ArrayList:
Java
Scala
Python
Selenium
ServiceNow

  1. जावा में JRadioButtonMenuItem कैसे प्रदर्शित करें?

    A JRadioButtonMenuItem JMenuItem . का एक उपवर्ग है जावा में कक्षा। एक JRadioButtonMenuItem एक मेनू आइटम है जो मेनू आइटम के समूह का हिस्सा है जिसमें केवल एक आइटम समूह में चयनित . किया जा सकता है और चयनित आइटम अपनी चयनित स्थिति प्रदर्शित करता है। हम एक बटन समूह . में अनेक रेडियो बटन मेनू आइटम जोड़

  1. Java में JList के लिए कितने प्रकार के सिलेक्शन मोड हैं?

    एक JList एक घटक है जो JComponent . का विस्तार कर सकता है वर्ग वस्तुओं की एक सूची प्रदर्शित करने के लिए प्रयोग किया जाता है जो उपयोगकर्ता को एक या अधिक वस्तुओं का चयन करने की अनुमति देता है। जावा में JList के लिए तीन प्रकार के चयन मोड हैं ListSelectionModel.SINGLE_SELECTION :एक समय में केवल एक सू

  1. जावा में मेथड ओवरराइडिंग को रोकने के कितने तरीके हैं?

    विधि अधिभावी जावा में रन-टाइम मेथड बाइंडिंग फीचर के कारण काम करता है। इसलिए, अगर हम जावा कंपाइलर को किसी मेथड के लिए स्टैटिक बाइंडिंग करने के लिए बाध्य करते हैं तो हम उस मेथड को व्युत्पन्न क्लास में ओवरराइड होने से रोक सकते हैं। हम जावा में मेथड ओवरराइडिंग को 3 तरीकों से रोक सकते हैं आधार वर्ग में