کلکسیون ها 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