لمحة جافاوية 51: المجموعات

السلام عليكم

غريب أمر الإعلام
لن أستغرب لو أنهم إقنعوك بأنك قتلت أباك رغم أنه حي يرزق
يقومون بعمل قضية من لا قضية
كنت أشاهد فيلماً اسمه Marely and Me
مارلي هذا كلب
والفيلم ليس له هدف واضح
إلا لو افترضنا أن جمعية حقوق الكلاب هي الممول الرئيسي للفلم
في النهاية يجب أن تبكي عند موت الكلب لأنه أفضل من البشر
سبحان الله كل المدنيين الذين يموتون في الحروب بسبب القنابل التي ترمى بشكل عشوائي
وفي النهاية القضية هي الكلب مارلي قضى نحبه
على كل بدأت أمل من المقدمات الطويلة
ما رأيكم في أن ندخل في الموضوع مباشرة
-صحيح ما الذي حصل أليس يفترض أن الأخ عبده استولى على المدونة-
أووووووووه يا ضياء جيد أنك ذكرتني
اتصل علي الأخ عبده أمس وأخبرني أنه مشغول بامتحانات آخر السنة
وأنه يريدني أن أحل محله لفترة أسبوعين
طبعاً أنا تمنعت وأخبرته أن دخول الحمام ليس كخروجه
وكعادة الأخ عبده في التعامل معي
(ولا أدري لماذا يحتقرني هذا الرجل)
أخبرني أنه لو وصل إلي سيحولني إلى عجين بالجبنة
طبعاً وكعادتي معه أخبرته أني كنت أمازحه
لهذا تجدوني هنا أكلمكم عن الكلب السعيد مارلي
ربما وأشرح لكم النظرية النسبية لإنشتاين
لعل الأخ عبده يكف عن مضايقتي
على كل حال ما رأيكم أن نتكلم عن موضوع اليوم
-ما موضوع اليوم يبدو لي وكأنها حصة رياضيات-
ممممممممممممممممم
موضوع اليوم هو عن تركيب البيانات المسمى مجموعة
سمي هذا التركيب بالمجموعة لأنه يحتوي على مزايا المجموعة الرياضية
يمكننا تعريف المجموعة على أنها الحيز الذي يحتوي مجموعة معينة من الأشياء تربط بينهم علاقة ما بشرط عدم تكرار أي عنصر
مثال على مجموعة
م= {1,2,3,4}
م:مجموعة الأعداد الصحيحة من 1 إلى 4
خ={أبوبكر, عمر, عثمان, علي}={أبوبكر, عمر, علي, عثمان}
-خ مجموعة الخلفاء الراشدين لاحظوا أن الترتيب لا يعني شيء في المجموعات-
ك={1,1,2}
هل ك مجموعة؟؟
بالطبع لا لأن ك تحتوي على العنصر 1 أكثر من مرة
-يبدو لي أني ضللت الطريق وأنا قادم إلى الدرس-
هههههههههههههههههه
لمحة جيدة يا أخ ضياء
ضياء يريد أن يخبرني أني ممل وأقوم بشرح درس رياضيات بدل من درس برمجة
اصبر ياضياء قليلاً
لقد انتهيت
جافا تقدم لنا من ضمن مجموعة تركيب بيانات الخاصة بها (API)
فئة تسمى HashSet
هذه الفئة تمثل تركيب البيانات مجموعة
سنأخذ مثال بسيط على HashSet

import java.util.HashSet;

public class TestSet {
	public static void main(String[] args) {
		HashSet set=new HashSet();
		set.add("alaa");
		set.add("alaa");
		for (String string : set) {
			System.out.println(string);
		}
	}
}

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

تحياتي

Tags: , , , , ,

8 Responses to “لمحة جافاوية 51: المجموعات”

  1. abuouf قال:

    سمعت كثيراً عنها ولكن لاول مرة اعرف استخدمها وكيفيته ولكن ممكن توضح دي
    for (String string : set) {
    : ماذا يعنو وإزاي عملت الفور كده بدون ;
    وجزاك الله خير

  2. admin قال:

    هذا ما يسمى بـ foreach
    راجع هذا الرابط لمعلومات أكثر
    http://modonat-alaa.freehostia.com/index.php?s=foreach

    تحياتي

  3. abuouf قال:

    جزاك الله خير
    هناك سؤال ولكني وضعته هناك في الرابط :)

  4. Eng.LuLu قال:

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

    ولكن عندما قرأت هذه التدوينة سررت كثيرا لأنها بسيطة وسهلة :)
    ولكن للأسف الكرييتور ضرب فلم أستطع تجربتها :(

    شكرا لك ..

  5. admin قال:

    سـأجاوبك في الرابط :)

  6. admin قال:

    م.لولو وأنا بقول هي المدونة ليش منورة
    بالنسبة لموضوع الصفر اليساري هذا كلام غير صحيح مطلقاً
    الموضوع لا يتعدى كونه خبرة وحب تعلم
    قد يكون لديك حب التعلم لكن الخبرة لا تأتي إلا مع الزمن والاحتكاك
    بالنسبة لموضوع العلماء هذا فلو اعتبارنا أن الفتات الذي أقوم بنشره في هذه المدونة علماً
    فلا أظن كوني أعرف الفتات يجعلني عالماً
    بالنسبة لموضوع الكرييتور هناك IDEs كثيرة غيره
    جربي eclipse أو NetBeans

    تحياتي

  7. Salam قال:

    يعطيك العافية ..
    طيب هلأ لو ضفت Object لهالمجموعة ..
    وبعدها ضفت reference عليه ..
    هل راح يقبله ؟؟؟

    الSet على ما أعتقد بتعمل implement للانترفيس Collection
    و أختها هيا : List اللي هي عبارة عن مجموعة من الitems .. ممكن تكون مكررة
    وفيه map .. بتخليك تعطي key للobj اللي عم تضيفه ..
    صراحة شغلات جاهزة وبتريّح ^_^

  8. admin قال:

    الله يعافيكي يا سلام
    أكيد لأ مش راح يضيفها

    اه الجافا من أكثر اللغات التي تقدم API جيدة

    تحياتي

Leave a Reply