একটি অ্যারেলিস্ট AbstractList এর একটি সাবক্লাস ক্লাস এবং এটি একটি গতিশীল আকারের সংরক্ষণ করতে ব্যবহার করা যেতে পারে উপাদান সংগ্রহ। একটি ArrayList নতুন উপাদানগুলিকে মিটমাট করার জন্য তার আকার বৃদ্ধি করে এবং উপাদানগুলি সরানো হলে আকারকে সঙ্কুচিত করে, তাই একে বলা হয় আকারযোগ্য অথবা ডাইনামিক অ্যারে। একটি ArrayList ডুপ্লিকেট এবং নাল মানকে অনুমতি দিতে পারে .
জাভাতে অ্যারেলিস্ট সিঙ্ক্রোনাইজ করার দুটি উপায় আছে
Collections.synchronizedList() পদ্ধতি
The 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 সংশোধন করা হয়, তখন এটি অন্তর্নিহিত অ্যারের একটি নতুন অনুলিপি তৈরি করবে৷
সিনট্যাক্স
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