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

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

اذهب الى الأسفل

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

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

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

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

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

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


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

و بالنظر للرسم أعلاه نجد أن الواجهة 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
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

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

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


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