एक 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