কম্পিউটার টিউটোরিয়াল

জাভাতে অ্যারে (Array) কে ArrayList-এ রূপান্তর করার কতগুলো পদ্ধতি আছে?

জাভাতে অ্যারে থেকে 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 দরকার হলে উপরের যেকোনো একটি ব্যবহার করুন।

  1. জাভায় ArrayList থেকে Array-এ রূপান্তর

  2. জাভা স্ট্রিংকে চার অ্যারে-তে কনভার্ট করার পদ্ধতি

  3. অ্যান্ড্রয়েডে অ্যারে থেকে ArrayList-এ রূপান্তর করার পদ্ধতি

  4. জাভাতে নন-অ্যাকসেস মডিফায়ারের সংখ্যা কত