تکین وب | آموزش برنامه نویسی
تکین وب | آموزش برنامه نویسی

تبدیل آرایه به List و برعکس

۸ فروردین ۱۳۹۵

گاهی ممکن است در برنامه نویسی به این نکته برخورد کرده باشید که بخواهید به آرایه ای که در برنامه دارید عنصری را اضافه یا کم کنید . اما این کار غیر ممکن است . چرا که آرایه دارای طولی ثابت می باشد و تغییر آن غیرممکن خواهد بود . اما می توان در برنامه نویسی جاوا آرایه را به لیست و برعکس تبدیل کرد . برای این کار در ابتدا فرض می کنیم آرایه ای یک بعدی از String ها داریم :

 String[] Array = {"Welcome","To","TakinWeb"};

حالا می خواهیم این آرایه را به لیست تبدیل کنیم . برای این کار دستور مربوط به ایجاد LinkedList را می نویسیم :

LinkedList list = new LinkedList<String>();

اما برای اینکه آرایه به لیست تبدیل شود این دستور به دستور زیر تغییر پیدا می کند . یعنی باید در داخل پرانتز  ()<LinkedList<String کلمه ی Arrays و سپس با زدن دات ،  متد ()asList و به عنوان آرگومان ورودی نام آرایه که در اینجا همان Array می باشد را وارد کنیم :

LinkedList list = new LinkedList<String>(Arrays.asList(Array));

در این صورت آرایه ی ما به یک لیست تبدیل خواهد شد . حال می توانیم به آن عناصری را اضافه و یا از آن کم کنیم :

list.addFirst("Guys ,");
list.addFirst("Hello ");

همانطور که می دانید ()addFirst برای اضافه کردن عناصر به ابتدای لیست و ()addLast برای اضافه کردن عناصر به انتهای لیست به کار برده می شود که ما در اینجا از متد اول استفاده کرده ایم .

امابرای تبدیل این لیست به همان آرایه ای که در ابتدا داشتیم باید از دستور زیر استفاده کنیم :

Array = (String[]) list.toArray(new String[list.size()]);

و سپس برای اطمینان از صحت دستورات ، با یک حلقه ی for پیشرفته عناصر آرایه را چاپ می کینیم :

 for(String x :Array)
            System.out.print(" "+ x);

برای import کردن کتابخانه هایی که باید در برنامه استفاده شوند هم می توانید از نوار ابزار، گزینه ی Source و سپس …Fix Imports را انتخاب نمایید :

 ArrayToList

در پایان چنین کدی خواهیم داشت :

import java.util.Arrays;
import java.util.LinkedList;
public class ArrayToLinkedList {
    public static void main(String[] args) {
        String[] Array = {"Welcome","To","TakinWeb"};
        LinkedList list = new LinkedList<String>(Arrays.asList(Array));
        list.addFirst("Guys ,");
        list.addFirst("Hello ");
        Array = (String[]) list.toArray(new String[list.size()]);
        for(String x :Array)
            System.out.print(" "+ x);        
    }  
}

در ضمن اگر اینستاگرامی هستید حتما @Takinweb را فالو کنید….

درباره ی عطیه رحمانی

کلیه ی حقوق مادی و معنوی مطالب متعلق به سایت تکین وب می باشد و کپی برداری و بازنشر آن بدون ذکر منبع کاری غیر حرفه ای و غیر اخلاقی و قابل پیگرد قانونی خواهد بود.
کانال تلگرام تکین وب