জাভাতে অ্যারে থেকে ArrayList তৈরি করার প্রধান তিনটি পদ্ধতি রয়েছে।
১. লুপ ব্যবহার করে প্রতিটি এলিমেন্ট যোগ করা (Manual)
ArrayList-এর add() মেথড ব্যবহার করে একে একে এলিমেন্ট যোগ করা।
উদাহরণ
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayToArrayList {
public static void main(String args[]) {
String stringArray[] = {"JavaFX", "Java", "WebGL", "OpenCV", "OpenNLP", "JOGL", "Hadoop", "HBase", "Flume", "Mahout", "Impala"};
ArrayList<String> arrayList = new ArrayList<String>();
for(int i = 0; i < stringArray.length; i++) {
arrayList.add(stringArray[i]);
}
System.out.println("Contents of the array list: ");
Iterator it = arrayList.iterator();
while(it.hasNext()) {
System.out.print(it.next() + " ");
}
}
}
আউটপুট
Contents of the array list: JavaFX Java WebGL OpenCV OpenNLP JOGL Hadoop HBase Flume Mahout Impala
২. Arrays.asList() মেথড ব্যবহার (সর্বাধিক ব্যবহৃত)
Arrays.asList() অ্যারে গ্রহণ করে একটি ফিক্সড-সাইজ List রিটার্ন করে। এরপর সেটি ArrayList কনস্ট্রাক্টরে পাস করে মডিফাইয়েবল ArrayList বানানো যায়।
উদাহরণ
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
public class ArrayToArrayList {
public static void main(String args[]) {
String stringArray[] = {"JavaFX", "Java", "WebGL", "OpenCV", "OpenNLP", "JOGL", "Hadoop", "HBase", "Flume", "Mahout", "Impala"};
// asList() রিটার্ন করা লিস্ট ফিক্সড সাইজ, তাই ArrayList কনস্ট্রাক্টরে পাস করলেই মডিফাইয়েবল হয়
ArrayList<String> arrayList = new ArrayList<>(Arrays.asList(stringArray));
System.out.println("Contents of the array list: ");
for(String s : arrayList) System.out.println(s);
}
}
আউটপুট
Contents of the array list: JavaFX Java WebGL OpenCV OpenNLP JOGL Hadoop HBase Flume Mahout Impala
৩. Collections.addAll() মেথড ব্যবহার
Collections.addAll(Collection<? super T> c, T... elements) ব্যবহার করে অ্যারের সব এলিমেন্ট একসাথে ArrayList-এ যোগ করা যায়।
উদাহরণ
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
public class ArrayToArrayList {
public static void main(String args[]) {
String stringArray[] = {"JavaFX", "Java", "WebGL", "OpenCV", "OpenNLP", "JOGL", "Hadoop", "HBase", "Flume", "Mahout", "Impala"};
ArrayList<String> arrayList = new ArrayList<>();
Collections.addAll(arrayList, stringArray);
System.out.println("Contents of the array list: ");
for(String s : arrayList) System.out.println(s);
}
}
আউটপুট
Contents of the array list: JavaFX Java WebGL OpenCV OpenNLP JOGL Hadoop HBase Flume Mahout Impala
তুলনা:
| পদ্ধতি | প্রসঙ্গ | কষ্টতা |
|---|---|---|
| Manual Loop | পুরানো জাভা ভার্সন, কাস্টম লজিক দরকার হলে | অধিক |
| Arrays.asList() | সর্বাধিক পঠনযোগ্য, স্ট্যান্ডার্ড (Java 5+) | কম |
| Collections.addAll() | পারফরম্যান্সে কিছুটা ভালো,_null-সেফ | কম |
স্মার্ট টিপ: Java 9+ এ List.of() ব্যবহার করে ইমিউটেবল লিস্ট বানানো যায়, কিন্তু মডিফাইয়েবল ArrayList দরকার হলে উপরের যেকোনো একটি ব্যবহার করুন।