کلکسیون ها Collections دارای Interface ها و زیر مجموعه های مهمی هستند که شامل موارد زیر می شوند :

 

صف Queue : صف دارای ساختاری ترتیبی می باشد که جهت ذخیره داده های Fifo (داده ای که اول وارد شده اول استخراج می شود که حافظه پشته عکس آن می باشد) هستند. نمونه تعریف یک صف :

 صف معمولی      ; () <Queue<String>q1=new Queue<String
 صف با ارزش      ; () <PriorityQueue<String>q2=new PriorityQueue<String

همچنین صف ها دارای متدهای کلیدی برای درج در صف , نمایش داده , نمایش سپس حذف داده , پاک کردن کل صف و نمایش تعداد خانه هستند که به ترتیب عبارتند از :

()Offer(),pool(),Peek(),Clear(),Size

 

لیست List : برای ذخیره داده های غیر خاص ولی ترتیبی کاربرد دارد. لیست ها دارای دو پیاده سازی هستند که شامل Arraylist و linklist می باشد که برای ایجاد نمونه ای از لیست بکار می روند. نمونه تعریف یک لیست :

;()< List <string> list=new Arraylist<string

Map : مجموعه ای از داده ها که با کلید key (داده اول) و مقدار Value(داده دوم) کار می کند و دارای سه پیاده سازی hashtable,hashmap,hashtree می باشد.

;()< Map <int , string> m1=new hashmap<int , string

 

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

()put(key,value),get(key),keyset(),containkey

 

Set : مجموعه ای دارای ساختار پیشفرض نامرتب و از نوع داده های یکتا unique بوده و داده های نامرتب درج می کنند. نمونه تعریف یک Set و TreeSet :

     ;()<Set <number> s1=new hashset<number
      ;()< Set <number> s2=new treeset<number

همچنین TreeSet دارای توابع آماده کاربردی دیگری جهت نشان دادن اعضای بزرگتر از عددی و اعضای کوچکتر از آن,قراردادن عددی بعنوان اولین داده و آخرین داده که بترتیب مقابل می باشند :

()headtset(value),tailset(value),first(),last

خصوصیات properties : یک پیاده سازی برای ذخیره سازی Map هاست که شامل کلید و مقدار می باشد. بعنوان مثال برای قراردادن برخی تنظیمات خاص در برنامه مانند تنظیمات اتصال به دیتابیس کاربرد دارد. همچنین properties ها شامل متدهای آماده برای ارسال و دریافت کلید, فراخوانی از داخل فایل, ذخیره در فایل می باشند که عبارتند از :

 

(SetProperty(key

(GetProperty(key

(load(key,value

(Store(key,value

 

پشته Stack : مجموعه ای از داده های Lifo (آخرین داده وارد شده اول استخراج می شود) را ذخیره می کند که دارای دو تابع رایج برای ریختن()push و برگرداندن داده سپس حذف آن از حافظه()pop می باشد. برای نمایش داده های حافظه پشته از متد ()toString استفاده می شود.

 

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

 

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

sort

fill

addAll

max

min

copy

reverse

shuffle

disjoint

frequency

 

همچنین هر داده ای از نوع کالکشن دارای شمارنده ای بنام Iterator می باشد که پیمایش فقط با آن قابل انجام است. نمونه تعریف یک Iterator بدین ترتیب می باشد :

منظور از لیست در اینجا, نام لیست می باشد         ;()Iterator<String> lt1=list.Iterator