Collection در جاوا , ArrayList

ناصر نادری | 1394/04/24


بنام خدا . بعد از یک غیبت طولانی در خدمت دوستان هستم با ادامه بحث Collection ها در جاوا .

در این جلسه در مورد ArrayList ها مطالبی رو در خدمتتون خواهم بود .

کلاس ArrayList از کلاس AbstractList و اینترفیس List ارث برده شده و در واقع یک آرایه داینامیک از عناصر هست که میتونه عناصر تکراری هم توش باشه .

نکته : دستکاری توی این آرایه کمی کند هست و دلیلشم این هست که هر بار با تغییر توش آرایه دوباره shift داده میشه .

برای تعریف یک شی از نوع ArrayList  از نوع String به شکل زیر عمل میکنیم :

ArrayList<String> al=new ArrayList<String>();

قبلا نوع تعیین نمیشد ولی توی نسخه جاوای jdk1.5 به بعد با اجبار باید یک نوع مثلا همین String که تعیین شد رو تعیین کنید و این به نوع داده امن کمک میکنه و اشتباه رو توی برنامه نویسی کم میکنه .

نمونه کد زیر رو باهم ببینیم :

 import java.util.*; 
class AppinappsCollections{ 
public static void main(String args[]){ 

    ArrayList<String> al=new ArrayList<String>();//تعریف یک لیست آریه از نوع رشته
    al.add("java");//اضافه کردن یک عنصر به لیست 
    al.add("php"); 
    al.add("csharp"); 
    al.add("ajax"); 

    Iterator itr=al.iterator();//برای پیمایش در آرایه
    while(itr.hasNext()){ 
        //چاپ عناصر ارایه
        System.out.println(itr.next()); 
    } 
} 
}  

البته میشه  عناصر آرایه رو با for-each  هم چاپ کرد یا به هر دلیل پیمایش کنیم .

 import java.util.*; 
class AppinappsCollections{ 
public static void main(String args[]){ 

    ArrayList<String> al=new ArrayList<String>(); 
    al.add("java"); 
    al.add("php"); 
    al.add("csharp"); 
    al.add("ajax"); 
    //چاپ عناصر آرایه با حلقه For
    for(String obj:al) 
        System.out.println(obj); 
    } 
} 

نتیجه اجرای هردو قطعه کد بالا به شکل زیر خواهد بود :

 java
php
csharp
ajax 

بجای نوع String یا هرنوع موجود در جاوا میتونیم انواعی رو هم که خودمون ساختیم رو به شکل ArrayList در بیاریم . مثلا کلاس پایین رو داریم :

 class Phone{ 
int code; 
String name; 
String model; 
Student(int code,String name,String model){ 
this.code=code; 
this.name=name; 
this.model=model; 
} 
} 

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

  import java.util.*; 
public class AppinappsCollections{ 
public static void main(String args[]){ 
    //سه تا شی از نوع کلاس phone خودمون میسازیم 
    Phone p1=new Phone(101,"Nokia","lumia"); 
    Phone p2=new Phone(102,"Samsung","galaxy"); 
    Phone p2=new Phone(103,"LG","gt100"); 

    ArrayList<Phone> al=new ArrayList<Phone>();
    al.add(p1);
    al.add(p2); 
    al.add(p3); 

    Iterator itr=al.iterator(); 

    while(itr.hasNext()){ 
        Phone ph=(Phone)itr.next(); 
        System.out.println(ph.code+" "+ph.name+" "+ph.model); 
    } 
  } 
}  

متدهای زیادی  برای کار با لیست آرایه  وجو داره ازجمله برای پاک کردن یا کپی کردن یا معکوس کردن که میتونید توی سایت toturialspoint.com اونهارو ببینید.

تا جلسه بعد در پناه حق ...


فایلهای ضمیمه
توجه! هیچ فایل ضمیمه ای برای این مطلب یافت نشد

نظرات شما نظر جدید