التعامل مع مجموعات البيانات Java collection framework

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

التعامل مع مجموعات البيانات Java collection framework

مُساهمة من طرف أحمد مناع في السبت فبراير 15, 2014 7:41 am

بسم الله الرحمن الرحيم

أهلا وسهلا بكم إخوانى الكرام ....فى هذا المقال سوف نتحدث عن جزء مفيد ومهم جدا فى لغة جافا وهى فئات المجموعات أو إطار المجموعات Java collection framework و يمكن استخدامها فى التعامل مع البيانات ذات المغزى الواحد وذلك من خلال إنشاء مجموعات بحيث تمكنك من تخزين واسترجاع ومعالجة البيانات بشكل فعال جدا وسهولة.

وما داعى لشرح تلك المجموعات هو مقال الاخت الفاضلة زهراء التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JComboBox) و التى تحدثت فية عن أحد مجموعات البيانات vector collection ولذلك وجب علينا التعرف على تلك المجموعات وكيف تستخدم حتى نكون ملمين بكافة جوانب اللغة

_ و قبل أن نبدأ مناقشة اطار المجموعات Java collection framework انظر الى التسلسل الهرمي للفئات والوجهات التى تحتوى تلك المجموعات كما فى الرسم التالى :



و بالنظر للرسم أعلاه نجد أن الواجهة Collection Interface تقم فى أعلى التسلسل الهرمى وتحتوى على ثلاث وجهات أخرى وهى :

1_ Set Interface
2_ List Interface
3_Queue Interface

اولا : الواجهة Set

الواجهة set تقوم بتعين مجموعات لا تحتوى على قيم مكررة و لديها فى ذلك ثلاث مجموعات وهما :

1) HashSet
2) TreeSet
3) LinkedHashSet




  • المجموعة HashSet وهى افضل مجموعة فى تلك الواجهة و تقوم بتخزين عناصرها فى جدول تجزئة HashTable بحيث لا تسمح بأى نوع من التكرار و يتم إنشائها على النحو التالى :


الرمز:
import java.util.HashSet;  
  
public class HashSetImplementation {  
  
    public static void main(String args[]){  
  
        HashSet<String> hashSet = new HashSet<String>();  
  
        hashSet.add("element1");  
        hashSet.add("element2");  
        System.out.println(hashSet);  
  
        hashSet.remove("element1");  
        System.out.println(hashSet);  
    }  
}  




  • المجموعة TreeSet وهى بطيئة قليلا من المجموعة HashSet و يتم تخزين عناصرها فى بيئة شجرية ويتم انشائها على النحو التالى :


الرمز:
import java.util.TreeSet;

public class TreeSetImplementation {

    public static void main(String args[]){

        TreeSet<String> treeSet = new TreeSet<String>();

        treeSet.add("element1");
        treeSet.add("element2");
        treeSet.add("element3");
        System.out.println(treeSet);

        treeSet.remove("element2");
        System.out.println(treeSet);
    }    
}



  • المجموعة  LinkedHashSet ويتم تنفيذها باعتبارها جدول مجزء HashTable مع LinkedList الذي يمر بها. فإنه يأمر عناصرها على أساس الترتيب الذي تم إدراجها في المجموعة ويتم بنائها على النحو التالى :


الرمز:
import java.util.LinkedHashSet;

public class LinkedHashSetImplementation {

    public static void main(String[] args) {

        LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>();

        linkedHashSet.add("element1");
        linkedHashSet.add("element2");
        linkedHashSet.add("element3");
        System.out.println(linkedHashSet);

        linkedHashSet.remove("element1");
        System.out.println(linkedHashSet);
    }
}



ثانيا : الواجهة List

وهى واجهة تقوم بتعيين مجموعات يمكن أن تحتوي على قيم مكررة.ولديها فى ذلك ثلاث مجموعات هما :

1) ArrayList
2) LinkedList
3) Vector


  • المجموعة ArrayList و تعتبر أفضل أداء في تنفيذ قائمة مجموعات في كلمات بسيطة يمكننا ان نقول ان ArrayList هو مجموعة من القيم  أو الكائنات و يتم إنشائها على النحو التالى :


الرمز:
import java.util.ArrayList;

public class ArrayListImplementation {

    public static void main(String args[]){

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

        arrayList.add("element1");
        arrayList.add("element2");
        arrayList.add("element3");
        System.out.println(arrayList);

        arrayList.remove("element3");
        System.out.println(arrayList);
    }
}



  • المجموعة LinkedList وتعتبر أبطأ قليلا من ArrayList لكن لها أداء أفضل في ظروف معينة و يتم إنشائها على النحو التالى :

الرمز:
import java.util.LinkedList;

public class LinkedListImplementation {

    public static void main(String args[]){
        LinkedList<String> linkedList = new LinkedList<String>();

        linkedList.add("element1");
        linkedList.add("element2");
        linkedList.add("element3");
        System.out.println(linkedList);

        linkedList.remove("element3");
        System.out.println(linkedList);
    }
}




  • المجموعة Vector وهى من المجموعات التى لها قدرة على النمو و يتم إنشائها على النحو التالى :


الرمز:
import java.util.Vector;

public class VectorImplementation {

    public static void main(String args[]){

        Vector<String> vector = new Vector<String>();

        vector.add("element1");
        vector.add("element2");
        vector.add("element3");
        System.out.println(vector);

        vector.remove("element1");
        System.out.println(vector);
    }
}


لنا عودة أن شاء الله تعالى

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 809
النقاط : 1478
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى