CodeGym /جاوا بلاگ /Random-UR /پرانا درجہ 08
John Squirrels
سطح
San Francisco

پرانا درجہ 08

گروپ میں شائع ہوا۔

عالمی لیبر مارکیٹ

اولڈ لیول 08 - 1اگر آپ ایک چھوٹے، غریب یا ترقی پذیر ملک میں رہتے ہیں تو آپ کسی وقت مقامی لیبر مارکیٹ کی محدودیت سے ٹکرا سکتے ہیں۔

مقامی لیبر مارکیٹ کے لیے حدود

1 کم تنخواہ

یہاں تک کہ اگر آپ ایک اعلیٰ تعلیم یافتہ ماہر ہیں تب بھی شاید کوئی آجر آپ کو وہ تنخواہ ادا کرنے کے قابل نہ ہو جس کے آپ مقامی لیبر مارکیٹ میں مستحق ہیں۔ مثال: اساتذہ، سائنسدان۔

2 غیر ضروری کالج کی ڈگریاں

وکلاء اور ماہر معاشیات یونیورسٹیوں کی پیداوار کی مقدار لیبر مارکیٹ کی طلب سے دس گنا زیادہ ہے۔ ان میں سے 90% ماہرین کو پیشے پر کام نہیں مل سکتا۔ اکثر یہ کم تعلیمی معیار کا نتیجہ ہوتا ہے۔

3 آپ کے پیشے کی کوئی مانگ نہیں۔

آپ ایک شاندار سائنسدان ہو سکتے ہیں، لیکن ریاست اب بنیادی تحقیقوں کی مالی معاونت نہیں کرتی۔ لیبر رجسٹری آفس میں آپ کو دوبارہ اہل ہونے کا مشورہ دیا جا رہا ہے۔ ایسی صورت حال میں ایسا کرنا انتہائی غیر دانشمندانہ ہے، کیونکہ کچھ ممالک ایسے ہیں جہاں آپ کے علم اور مہارت کی مانگ ہے۔ جب ایک عالمی شہرت یافتہ سائنسدان اسے مقامی کیتھیڈرا چھوڑ کر نیو یارک میں برتن دھونے کے لیے بس جاتا ہے - یہ ایک المیہ ہے۔ جب ایک عالمی شہرت یافتہ سائنسدان نیو یارک میں کیتھیڈرا کا سربراہ بننے کے بجائے اپنے ہی ملک میں برتن دھوتا ہے - یہ اس سے بھی بڑا المیہ ہے۔

4 چھوٹے کیریئر کے مواقع

آپ اسٹاک ایکسچینج کے بروکر ہیں اور آپ فنانشل کریڈٹ فنڈز پر توجہ مرکوز کرنے والے ماہر کے طور پر آگے بڑھنا چاہتے ہیں۔ آپ مستقبل میں اپنی سرمایہ کاری فاؤنڈیشن کے سربراہ بننا چاہتے ہیں۔ آپ جیسے ماہرین کی آپ کے ملک میں کوئی مانگ نہیں ہو سکتی۔

5 چھوٹی لیبر مارکیٹس

آپ کے ملک میں آپ جیسے ماہر میں دلچسپی رکھنے والی صرف دو کمپنیاں ہو سکتی ہیں۔ اگر آپ ان میں سے کسی ایک کے لیے کام کرتے ہیں، تو آپ کو ان کے حریفوں کے ساتھ کام کرنے سے منع کیا جا سکتا ہے۔ آپ کے پاس جانے کی کوئی جگہ نہیں ہے۔ عالمگیریت کے عمل اور ٹیلی کمیونیکیشن کی تکنیکوں کی ترقی اور سستی کے نتیجے میں عالمی لیبر مارکیٹ کی ظاہری شکل سامنے آئی۔ عالمی مارکیٹ ان کمپنیوں پر مشتمل ہے جو بیرون ملک آجروں کی خدمات حاصل کرنے کے لیے تیار (اور قابل) ہیں۔ اس میں ایسے آجر بھی شامل ہوتے ہیں جو غیر ملکی کمپنی میں نوکری حاصل کرنے کے خواہشمند (اور قابل) ہوتے ہیں۔

عالمی لیبر مارکیٹ کے فوائد

1 تنخواہیں ترقی یافتہ ممالک کی نسبت کم ہیں، لیکن ترقی پذیر ممالک سے زیادہ ہیں۔

اگر آپ ترقی پذیر ملک سے ہیں اور آپ عالمی لیبر مارکیٹ میں مانگ کے ماہر ہیں، تو آپ کی تنخواہ عالمی مارکیٹ اور مقامی میں 5-10 گنا مختلف ہو سکتی ہے۔ اس سے بڑھ کر آپ کو اپنا پیسہ اپنے ملک میں خرچ کرنے اور اس کی معیشت میں ڈالنے کے لیے کیا ملے گا۔

2 تجربہ۔ اعلیٰ کاروباری عمل

آپ کی ملازمت آپ کو تین اہم ترین چیزیں فراہم کرتی ہے: تجربہ، پیسہ اور کنکشن۔ اگر آپ صرف پیسے لینے کے عادی ہیں - یہ آپ کا مسئلہ ہے ۔ اگر آپ دنیا کی اہم کمپنیوں کے لیے کام کرتے ہیں تو آپ سب سے قیمتی تجربہ حاصل کر سکتے ہیں۔ وہ عالمگیریت کے رجحانات کا خیر مقدم کرتے ہیں، اس لیے وہاں ملازمت حاصل کرنا آپ کے خیال سے کہیں زیادہ آسان ہے۔ جب آپ کمپنی کے ملازم ہوتے ہیں تو آپ کے پاس تمام موثر اور غیر موثر اندرونی کاروباری عمل کو دیکھنے کا موقع ہوتا ہے۔ آپ کو صرف دیکھنے اور سننے کی ضرورت ہے۔

3 بڑے کیریئر کے مواقع

ایک بڑی بین الاقوامی کارپوریشن میں ملازمت آپ کو پیشہ ورانہ طور پر ترقی کرنے اور کیریئر بنانے میں مدد دے گی۔ آپ کو پوری دنیا میں اچھے رابطے مل سکتے ہیں، اور یہ بہت مفید ہے: ایک اعلیٰ تعلیم یافتہ ماہر کی شہرت حاصل کریں اور چند بین الاقوامی کمپنیاں آپ کو ان کے لیے کام کرتے ہوئے اپنے کیریئر کی تعمیر جاری رکھنے کی پیشکش کریں گی۔ تمام باصلاحیت افراد کو ایک موقع کی ضرورت ہوتی ہے۔ وہ خود سوچے گا کہ اسے کس طرح استعمال کرنا ہے۔

4 کاروباری دورے

آپ کو اکثر بیرون ملک کاروباری دورے پر جانے کی پیشکش کی جائے گی۔ خاص طور پر اگر آپ جس کمپنی کے لیے کام کرتے ہیں اس کی بیرون ملک چند ذیلی تقسیمیں ہیں۔ ان مواقع کو نظر انداز نہ کریں: یہ سفر کرنے اور نئے علم اور ہنر حاصل کرنے، لوگوں سے بات کرنے کا ایک اچھا موقع ہے۔ یاد رکھیں، آپ کا افق جتنا وسیع ہوگا آپ کو اتنے ہی زیادہ فوائد حاصل ہوں گے۔

5 اپنی پسند کے ملک میں جانے کا موقع

اولڈ لیول 08 - 2اکثر ایسا ہوتا ہے کہ جب آپ نے ایک اعلیٰ تعلیم یافتہ ماہر کے طور پر اپنا نام بنایا ہے، تو آپ کو اپنے آجر کے دفتر میں جانے (کام کرنے) کی پیشکش ملتی ہے۔ یہ بہت آسان ہے۔ اس وقت تک آپ شاید کاروباری دورے پر گئے ہوں گے اور آپ کو اچھی طرح علم ہو گا کہ آپ کہاں جا رہے ہیں۔ وہاں آپ کے دوست اور جاننے والے پہلے سے موجود ہیں۔ آپ کو ایک اچھی نوکری اور ساتھی ملیں گے جو اب آپ ٹھیک ہیں۔ یہ شاید امیگریشن کے بہترین حالات ہیں جو میں جانتا ہوں۔

عالمی لیبر مارکیٹ کے مطالبات

1 آپ کا پیشہ ان سے ملنا چاہیے۔

تمام پیشے عالمی منڈی کے تقاضوں کو پورا نہیں کرتے۔ لیکن بہت سے کرتے ہیں۔ اور یہ فہرست مسلسل بڑھ رہی ہے۔ میں طویل عرصے تک ان کا نام رکھ سکتا ہوں: مدد، ترقی، تحقیق، ڈیزائن، ویب اور کمپیوٹرز کے ساتھ تقریباً کوئی بھی چیز۔ اگر آپ کا پیشہ صرف 20-30 سال پہلے ظاہر ہوا ہے، تو اس بات کا بہت زیادہ امکان ہے کہ اسے آسانی سے گلوبلائز کیا جا سکتا ہے۔

2 قیمت اور معیار

جب کوئی غیر ملکی کمپنی دیکھتی ہے کہ وہ آپ کے ملک میں اعلیٰ معیار اور کم قیمت کے لیے کسی ماہر کی خدمات حاصل کر سکتی ہے، تو اس کا مقابلہ کرنا مشکل ہے۔ آپ کو یا تو "بہتر اور سستا" یا "بہت سستا" ہونے کی ضرورت ہے۔ صرف "سستا" غیر ملکی کمپنی کو مطمئن نہیں کرے گا، کیونکہ اسے بیرون ملک ماہرین کی خدمات حاصل کرنے کا بہت خطرہ ہے۔

3 انگریزی

21ویں صدی میں انگریزی ایک بین الاقوامی زبان ہے۔ اگر آپ عالمی مارکیٹ میں کام کرنا چاہتے ہیں اور اس کے تمام فوائد سے لطف اندوز ہونا چاہتے ہیں، لیکن انگریزی آپ کی مادری زبان نہیں ہے تو اسے سیکھیں۔ آپ کی انگریزی کی سطح جتنی کم ہے، دوسرے دو فائدے اتنے ہی مضبوط ہونے چاہئیں۔

آپ ایک نئی سطح پر پہنچ گئے ہیں۔

سطح 8

اولڈ لیول 08 - 3

1 ایلی، جمع کی وضاحت

اولڈ لیول 08 - 4- ارے، امیگو. آج میں آپ کو مجموعوں کے بارے میں بتانا چاہتا ہوں۔ جاوا میں، وہ کلاسز جن کا بنیادی مقصد دوسرے عناصر کے سیٹ کو ذخیرہ کرنا ہوتا ہے انہیں کلیکشن/کنٹینرز کہا جاتا ہے۔ ایسی کلاس کی مثال، جسے آپ پہلے ہی جانتے ہیں، ArrayList ہے۔ - جاوا میں، مجموعہ کو تین اہم گروپوں میں تقسیم کیا گیا ہے: سیٹ، فہرست، اور نقشہ۔ - تو ان میں کیا فرق ہے؟ - میں سیٹ کے ساتھ شروع کروں گا۔ جوتوں کے ڈھیر کا تصور کریں۔ یہ ایک سیٹ ہے۔ سیٹ میں، آپ ایک عنصر شامل کر سکتے ہیں، اسے ڈھونڈ سکتے ہیں یا ہٹا سکتے ہیں۔ لیکن عناصر کا وہاں کوئی سخت حکم نہیں ہے! - وضاحت بہت مختصر ہے... - اب تصور کریں جوتوں کے اسی ڈھیر کو، اس بار دیوار کے ساتھ قطار میں کھڑا ہے۔ ابھی حکم ہے۔ ہر عنصر کا اپنا نمبر ہوتا ہے۔ مثال کے طور پر، آپ اس کے نمبر سے "جوڑا نمبر 7" تلاش کر سکتے ہیں۔ یہ ایک فہرست ہے ۔ آپ عنصر کو فہرست کے شروع میں یا درمیان میں شامل کر سکتے ہیں، یا اسے ہٹا سکتے ہیں، ایسا کرنے کے لیے آپ کو صرف اس کے نمبر کی ضرورت ہے۔ - پکڑا. نقشہ کے بارے میں کیا خیال ہے؟ - ایک ہی جوتے کا تصور کریں، لیکن اب ہر جوڑے پر ایک لیبل ہے، مثلاً «Nick»، «Joe»، یا «Ann»۔ یہ ایک نقشہ ہے، اسے اکثر «لغت» کہا جاتا ہے۔ ہر عنصر کا اپنا منفرد نام ہوتا ہے جس سے آپ اس تک رسائی حاصل کرسکتے ہیں۔ عنصر کے منفرد نام کو کلید بھی کہا جاتا ہے۔ اور نقشہ کلیدی قدر کے جوڑوں کا ایک مجموعہ ہے۔ کلید کا تار ہونا ضروری نہیں ہے۔ یہ کسی بھی قسم کا ہو سکتا ہے۔ نقشہ ، جس کی کلیدی قسم ہے Integer ، دراصل فہرست ہے (کچھ اختلافات کے ساتھ)۔ - یہ واضح ہے، لیکن میں مزید مثالیں دیکھنا چاہوں گا۔ - ریشا آپ کو مثالیں دوں گی، اور میں کچھ اور الفاظ شامل کرنا چاہتا ہوں۔ - تمام مجموعے اور کنٹینرز جب ابھی بنائے جاتے ہیں تو کچھ بھی نہیں رکھتے۔ لیکن آپ اس کے بعد ان میں عناصر شامل کر سکتے ہیں۔ وہ اپنے سائز کو متحرک طور پر تبدیل کریں گے۔ - اوہ، اب یہ دلچسپ ہے. اور آپ کیسے جانتے ہیں کہ مجموعہ میں کتنے عناصر ہیں؟ - ایسا کرنے کے لیے، طریقہ ہے size() ۔ مجموعوں میں آپ کی ضرورت کی ہر چیز موجود ہے۔ میرے خیال میں ایک دو اسباق میں آپ خود دیکھ لیں گے کہ یہ مجموعے کتنے کارآمد ہیں۔ - مجھے امید ہے.

1 ریشا، تمام مجموعوں اور انٹرفیس کی فہرست

اولڈ لیول 08 - 5 - ارے، امیگو. - ہیلو، ریشا - لیلا نے مجھے بتایا کہ آپ مجموعوں کی مزید مثالیں چاہتے ہیں۔ میں آپ کو چند ایک دیتا ہوں۔ میں آپ کو مجموعوں اور انٹرفیس کی فہرست دکھانا چاہتا ہوں: پرانا درجہ 08 - 6- ہم، بہت سارے۔ چار فہرستیں، تین سیٹ اور چار نقشے ہیں۔ - جی ہاں، یہ تمام انٹرفیس کی فہرست، سیٹ، اور نقشہ کے مختلف نفاذ ہیں۔ - اور نفاذ کے درمیان کیا فرق ہے؟ - یہ صرف وہی ہے جس کے بارے میں ہم آج بات کرنے جارہے ہیں۔ بس تھوڑا انتظار کریں۔ - شاید آپ کے پاس پہلے سے ہی کچھ سوالات ہیں۔ - میں جانتا ہوں کہ فہرست کو اسکرین پر کیسے ظاہر کرنا ہے۔ اور سیٹ اور میپ کیسے ڈسپلے کریں؟ - فہرست کے عناصر کا ایک سخت ترتیب ہے، لہذا وہ صرف ان کی تعداد کے ذریعہ ظاہر ہوسکتے ہیں۔ سیٹ اور میپ میں عناصر کی کوئی سخت ترتیب نہیں ہے۔ دراصل، جب آپ کسی بھی شے کو شامل کرتے یا ہٹاتے ہیں تو ان کے عناصر کی ترتیب بدل سکتی ہے۔ - واہ، یہ دلچسپ ہے! - لہذا، خاص اشیاء ( تکرار کرنے والے ) کو جمع کرنے والے عناصر کے ساتھ کام کرنے کے لیے ایجاد کیا گیا تھا۔ ان کا استعمال کرتے ہوئے آپ مجموعہ کے تمام عناصر کو چلا سکتے ہیں، چاہے ان میں کوئی نمبر نہ ہو، صرف نام (نقشہ)، یا بالکل بھی نام نہ ہوں (سیٹ)۔ - مثالیں: پرانا درجہ 08 - 7- واہ! اور اس سب کا کیا مطلب ہے؟ - حقیقت میں، یہ بہت آسان ہے. سب سے پہلے، ہمیں مجموعہ سے ایک خاص تکرار کرنے والا آبجیکٹ ملتا ہے۔ اس کے صرف دو طریقے ہیں۔ 1 طریقہ next() مجموعہ کے اگلے عنصر کو واپس کرنا ہے۔ 2 طریقہ hasNext() یہ ہے کہ یہ چیک کیا جائے کہ کیا ایسے عناصر ہیں جو ابھی نیکسٹ() کے ذریعے واپس نہیں ہوئے ہیں۔ - ہاں. یہ واضح ہو جاتا ہے۔ میں آپ کو بتاتا ہوں کہ میں اسے کیسے سمجھتا ہوں۔ - لہذا، اس جادوئی تکرار کرنے والے آبجیکٹ کو حاصل کرنے کے لیے، سب سے پہلے، آپ کو ایک مجموعہ میں میتھڈ ایٹریٹر() کو کال کرنے کی ضرورت ہے۔ - پھر میں انہیں ایک ایک کرکے لوپ میں حاصل کرتا ہوں جب کہ واپس نہ کی گئی اشیاء موجود ہوں۔ میں نیکسٹ() کو کال کرکے کلیکشن ایلیمنٹ حاصل کرتا ہوں اور چیک کرتا ہوں کہ آیا hasNext() کا استعمال کرتے ہوئے ایٹریٹر میں عناصر موجود ہیں۔ کیا میں ٹھیک ہوں؟ - ہاں، ایسا ہی کچھ۔ اور اب سب سے دلچسپ بات۔ - جاوا میں، تکرار کرنے والے کے استعمال کا مختصر اشارہ ہے۔ اسی طرح while اور for کے لیے ، ایک اور خصوصی آپریٹر « ہر ایک کے لیے » کو شامل کیا گیا۔ کوڈ میں اس آپریٹر کو اسی مطلوبہ لفظ سے ظاہر کیا گیا ہے ۔ - ہر ایک کے لیے آپریٹر صرف مجموعوں اور کنٹینرز کے ساتھ استعمال ہوتا ہے۔ یہ چھپ کر ایک تکرار کرنے والا استعمال کرتا ہے۔ - آئیے میں آپ کو دوبارہ کرنے والے کے ساتھ کام کرنے کا ایک مکمل اور مختصر طریقہ دکھاتا ہوں: اولڈ لیول 08 - 8- براہ کرم نوٹ کریں: صحیح ٹیبل میں نہ تو سبز اور نہ ہی سرخ الفاظ ہیں۔ درحقیقت، 3 لائنوں کو ایک سے بدل دیا گیا ہے: اولڈ لیول 08 - 9- یہ خوبصورت لگ رہا ہے۔ مجھے اس طرح زیادہ پسند ہے! - آئیے اوپر کی طرح کی مثالوں کو دیکھتے ہیں، صرف مختصر شکل میں: پرانا درجہ 08 - 10- یہ بالکل مختلف کہانی ہے! - مجھے خوشی ہے کی یہ اپکو پسند ایا.

3 ڈیاگو، جمع کرنے کے کام

- ارے، امیگو. میں آپ کو جمع کرنے کے کچھ کام دینا چاہتا ہوں:
کام
1 1. ایک پلانٹ ہیش سیٹ سٹرنگ قسم کے عناصر کا ایک ہیش سیٹ مجموعہ
بنائیں ۔ مجموعے میں 10 تاریں شامل کریں: تربوز، کیلا، چیری، ناشپاتی، خربوزہ، بلیک بیری، جینسینگ، اسٹرابیری، آئیرس اور آلو۔ مجموعہ کے مواد کو اسکرین پر ڈسپلے کریں۔ ہر اندراج ایک نئی لائن پر ہونا چاہئے۔ دیکھیں کہ شامل کردہ عناصر کی ترتیب کو کیسے تبدیل کیا گیا۔
2 2. 10 جوڑوں کا HashMap
ایک مجموعہ بنائیں HashMap<String, String> ، مجموعہ میں تاروں کے 10 جوڑے رکھیں: تربوز - بیری، کیلا - گھاس، چیری - بیری، ناشپاتی - پھل، خربوزہ - سبزی، بلیک بیری - بیری، ginseng - جڑ، اسٹرابیری - بیری، ایرس - پھول، آلو - ٹبر.
مجموعہ کے مواد کو اسکرین پر ڈسپلے کریں۔ ہر اندراج ایک نئی لائن پر ہونا چاہئے۔

آؤٹ پٹ مثال (صرف ایک تار دکھایا گیا ہے):
آلو - ٹبر
3 3. بلیوں کا HashMap مجموعہ
ایک کلاس Cat ہے ، جس کا فیلڈ کا نام (نام، String) ہے۔
ایک مجموعہ بنائیں HashMap<String, Cat> ۔
کلید کے طور پر بلی کا نام استعمال کرتے ہوئے 10 بلیوں کو شامل کریں۔
نتیجہ اسکرین پر دکھائیں۔ ہر اندراج ایک نئی لائن پر ہونا چاہئے۔
4 4. اسکرین پر کیز کی فہرست دکھائیں
ایک مجموعہ ہے HashMap<String, String> ، اس میں پہلے سے ہی 10 مختلف تار ہیں۔
چابیاں کی فہرست اسکرین پر دکھائیں۔ ہر اندراج ایک نئی لائن پر ہونا چاہئے۔
5 5. اسکرین پر اقدار کی فہرست دکھائیں
ایک مجموعہ ہے HashMap<String, String> ، اس میں پہلے سے ہی 10 مختلف تار ہیں۔
اسکرین پر اقدار کی فہرست دکھائیں۔ ہر اندراج ایک نئی لائن پر ہونا چاہئے۔
6 6. آبجیکٹ کا HashMap مجموعہ
ایک مجموعہ ہے HashMap<String, Object> ، اس میں پہلے سے ہی 10 مختلف آبجیکٹ جوڑے ہیں۔
مجموعہ کے مواد کو اسکرین پر ڈسپلے کریں۔ ہر اندراج ایک نئی لائن پر ہونا چاہئے۔

آؤٹ پٹ مثال (صرف ایک تار دکھایا گیا ہے):
سم - 5

4 کم، تاریخ کی قسم کا تعارف

اولڈ لیول 08 - 11- ارے، امیگو. میں آپ کو ایک دلچسپ قسم کے بارے میں بتانا چاہوں گا - تاریخ ۔ یہ قسم آپ کو تاریخ اور وقت ذخیرہ کرنے کے ساتھ ساتھ وقت کے وقفوں کی پیمائش کرنے کے قابل بناتی ہے۔ - یہ امید افزا لگتا ہے۔ چلو۔ - ہر تاریخ آبجیکٹ وقت کی معلومات کو محفوظ کرتا ہے۔ یہ ایک بہت ہی دلچسپ شکل میں ذخیرہ کیا گیا ہے - ملی سیکنڈز کی تعداد جو 1 جنوری 1970 GMT سے گزر چکے ہیں۔ - زبردست! - ہاں. یہ تعداد اتنی بڑی ہے کہ یہ int میں فٹ نہیں بیٹھتی ، آپ کو اسے طویل عرصے میں ذخیرہ کرنا ہوگا ۔ لیکن دو تاریخوں کے درمیان فرق کا حساب لگانا بہت آسان ہے: آپ کو ملی سیکنڈز کے فرق کو درست جاننے کے لیے دوسرے نمبر سے صرف ایک نمبر کو گھٹانا ہوگا۔ مستقبل میں یہ آپ کی زندگی کو آسان بنا دے گا، جب آپ کو ٹائم زون کے مسائل کا سامنا کرنا پڑے گا۔ - اور سب سے دلچسپ بات یہ ہے کہ ہر Date آبجیکٹ کو اس کی تخلیق کے وقت سے شروع کیا جاتا ہے۔ موجودہ وقت کو چیک کرنے کے لیے، آپ کو صرف ایک آبجیکٹ بنانا ہوگا۔ - اور اس کے ساتھ کیسے کام کرنا ہے؟ - یہاں کچھ مثالیں ہیں: اولڈ لیول 08 - 12- طریقہ getTime() آبجیکٹ Date میں ذخیرہ شدہ ملی سیکنڈز کی تعداد لوٹاتا ہے۔ - بعد کا طریقہ چیک کرتا ہے کہ آیا وہ تاریخ، جس میں یہ طریقہ کہا گیا تھا، گزری ہوئی تاریخ کے بعد آتی ہے۔ - طریقے getHours() , getMinutes() , getSeconds() اس چیز کے لیے گھنٹوں، منٹوں اور سیکنڈوں کی تعداد لوٹاتے ہیں جس میں انہیں بلایا گیا تھا۔ - مزید برآں، آخری مثال میں، آپ دیکھتے ہیں کہ آبجیکٹ Date میں ذخیرہ شدہ تاریخ/وقت کو تبدیل کرنا ممکن ہے ۔ ہم موجودہ وقت اور تاریخ حاصل کرتے ہیں، اور پھر گھنٹے، منٹ اور سیکنڈ صفر پر سیٹ کرتے ہیں۔ اسی طرح ہم نے مہینے کو جنوری اور مہینے کا دن 1 پر سیٹ کیا ہے۔ اب آبجیکٹ yearStartTime 1 جنوری کی تاریخ اور وقت، 0 گھنٹے، 0 منٹ، اور 0 سیکنڈز کو محفوظ کرتا ہے۔ - پھر ہم موجودہ تاریخ حاصل کرتے ہیں currentTime ، دوبارہ، اور ملی سیکنڈ میں دو تاریخوں کے درمیان فرق کا حساب لگاتے ہیں۔ میں msTimeDistance کے بارے میں بات کر رہا ہوں ۔ - پھر msTimeDistance کو ایک دن میں ملی سیکنڈز کی تعداد سے تقسیم کریں اور سال کے آغاز سے اب تک گزرے دنوں کی کل تعداد حاصل کریں! - زبردست! یہ تو زبردست ہے!

5 ایلی، اری لسٹ بمقابلہ لنکڈ لسٹ

- اپنے دماغ کو تھوڑا سا ٹیوننگ کے بارے میں کیا خیال ہے؟ مجھے امید ہے کہ یہ ابھی تک نہیں اڑا ہے۔ - اوپر کنٹینرز اور مجموعوں کے جدول میں آپ نے دیکھا ہے کہ ایک ہی انٹرفیس میں متعدد نفاذ ہو سکتے ہیں۔ اب میں آپ کو بتاتا ہوں کہ کیوں۔ اور ArrayList اور LinkedList میں کیا فرق ہے ۔ - بات یہ ہے کہ مجموعہ کو مختلف طریقوں سے لاگو کیا جا سکتا ہے اور کوئی ایک بھی درست نفاذ نہیں ہے ۔ ایک نقطہ نظر میں، کچھ آپریشن تیز ہیں اور باقی سست ہیں۔ دوسرے نقطہ نظر میں، یہ اس کے برعکس ہے. کوئی واحد کامل حل نہیں ہے۔ - لہذا، اسی مجموعہ کے چند نفاذ کرنے کا فیصلہ کیا گیا تھا. ہر عمل کو آپریشنز کی ایک مخصوص تنگ رینج کے لیے بہتر بنایا گیا تھا۔ تو مختلف مجموعے سامنے آئے۔ آئیے دو کلاسوں کی ایک مثال پر غور کریں - ArrayList اور LinkedList ۔ اولڈ لیول 08 - 13- ArrayList کو اندرونی طور پر ایک باقاعدہ صف کے طور پر لاگو کیا جاتا ہے ۔ لہذا، جب ایک عنصر کو درمیان میں داخل کیا جاتا ہے، تمام عناصر کو اس کے بعد ایک ایک کرکے منتقل کرنا پڑتا ہے، اور پھر نئے عنصر کو خالی جگہ میں داخل کیا جاسکتا ہے۔ تاہم، ایک عنصر ( get() اور set() ) کو حاصل کرنے اور اس میں ترمیم کرنے کے عمل کو ArrayList میں بہت تیزی سے لاگو کیا جاتا ہے۔ کیونکہ وہ صرف اندرونی صف کے مناسب عنصر تک رسائی حاصل کرتے ہیں۔ - لنکڈ لسٹ کو مختلف طریقے سے لاگو کیا جاتا ہے۔ یہ ایک منسلک فہرست کے طور پر لاگو کیا جاتا ہے : انفرادی عناصر کا ایک مجموعہ، جن میں سے ہر ایک اگلے اور پچھلے عناصر کے حوالہ جات محفوظ کرتا ہے۔ ایسی فہرست کے وسط میں ایک عنصر داخل کرنے کے لیے، طریقہ add() صرف اپنے مستقبل کے پڑوسیوں کے حوالے تبدیل کرتا ہے۔ تاہم، نمبر 130 کے ساتھ عنصر حاصل کرنے کے لیے، طریقہ get() کو 0 سے 130 تک تمام اشیاء کے ذریعے مسلسل چلانے کی ضرورت ہے۔ دوسرے الفاظ میں، یہاں سیٹ اور حاصل کرنا بہت سست ہے ۔ نیچے دی گئی جدول کو دیکھیں: اولڈ لیول 08 - 14- ہاں۔ یہ اب واضح ہوتا جا رہا ہے۔ کیا کوئی معیار یا اصول ہیں، کون سا مجموعہ بہترین ہے؟ - ٹھیک ہے، آسان بنانے کے لیے، یہاں درج ذیل اصول ہے: اگر آپ مجموعہ کے بیچ میں بہت سے عناصر داخل کرنے (یا ہٹانے) جا رہے ہیں، تو آپ LinkedList کو بہتر طور پر استعمال کریں گے ۔ بصورت دیگر، ArrayList استعمال کریں ۔ - میں آپ کو سینئر سطح پر ان فہرستوں کی اندرونی ساخت کی وضاحت کروں گا۔ اب تک ہم ان کو استعمال کرنے کا طریقہ سیکھیں گے۔

6 ڈیاگو، ٹاسک: دونوں فہرستوں کی کارکردگی کی پیمائش کریں۔

- یہ تم ہو. میں بور ہونے لگا۔ تم کہاں تھے؟ کام یہ ہیں۔ - کیا وہ دلچسپ ہیں؟ - کیوں، ضرور! بہت دلچسپ:
بہت دلچسپ کام
1 1. دو فہرستیں LinkedList اور ArrayList بنائیں۔
دو فہرستیں بنائیں: LinkedList اور ArrayList ۔
2 2. 10 ہزار اندراجات اور حذف کریں
ہر اندراج، حذف کرنے، حاصل () اور سیٹ() کے طریقوں کی arrayList اور LinkedList کے لیے 10 ہزار کریں۔
3 3. پیمائش کریں کہ ہر فہرست کے لیے دس ہزار اندراج کرنے میں کتنا وقت لگتا ہے اس کی
پیمائش کریں کہ ہر فہرست کے لیے دس ہزار اندراج کرنے میں کتنا وقت لگتا ہے۔
طریقہ getTimeMsOfInsert() کو اس کے عمل درآمد کا وقت ملی سیکنڈ میں واپس کرنا چاہیے۔
4 4. ہر لسٹ کے لیے حاصل کی دس ہزار کالز کرنے کے لیے درکار وقت کی پیمائش کریں
ہر لسٹ کے لیے get() کی دس ہزار کالز کرنے کے لیے درکار وقت کی پیمائش کریں getTimeMsOfGet()
کے طریقہ کار کو اس کے عمل کا وقت ملی سیکنڈ میں واپس کرنا چاہیے۔
5 5. چار طریقے
4 طریقوں کو نافذ کریں۔ طریقوں کو ایک فہرست واپس کرنی چاہئے جو مخصوص کارروائیوں کو انجام دینے کے لئے موزوں ترین ہے (بڑی تعداد میں کارروائیوں سے تیزی سے نمٹنے کے لئے)۔ پیمائش کی ضرورت نہیں ہے۔

7 ایلی: سیٹ اور میپ، ان کے ساتھ کیا کیا جا سکتا ہے۔

- کیا تم ابھی تک تھکے نہیں ہو؟ نہیں، پھر چلیں جاری رکھیں۔ میں آپ کو بتانا چاہوں گا کہ سیٹ اور میپ کیا ہیں۔ اور ان کے کیا آپریشن ہیں۔ - سیٹ غیر شمار شدہ اشیاء کا ایک گروپ ہے۔ سیٹ کی اہم خصوصیت یہ ہے کہ اس میں صرف منفرد اشیاء ہیں ، یعنی وہ سب مختلف ہیں ۔ یہ وہی ہے جو آپ اس کے ساتھ کر سکتے ہیں: اولڈ لیول 08 - 15- کیا یہ سب ہے؟ - اصل میں، ہاں. آپ طریقہ کا استعمال کرتے ہوئے عناصر کی تعداد کا تعین بھی کر سکتے ہیں size() ۔ - نقشہ کے بارے میں کیا خیال ہے ؟ - نقشہ ایک جوڑا سیٹ ہے۔ یہ ایک ہی سیٹ ہے، واحد عناصر کا نہیں، بلکہ کلیدی قدر کے جوڑوں کا۔ صرف پابندی یہ ہے کہ جوڑے میں پہلی چیز، جسے کلید کہا جاتا ہے، منفرد ہونا ہے ۔ نقشہ میں ایک ہی کلید کے ساتھ دو جوڑے شامل نہیں ہوسکتے ہیں۔ - یہی ہم نقشہ کے ساتھ کر سکتے ہیں : اولڈ لیول 08 - 16- یہ سیٹ سے کہیں زیادہ دلچسپ ہے۔ - ہاں، اگرچہ نقشہ فہرست کی طرح مقبول نہیں ہے، لیکن بہت سے کاموں کے لیے استعمال کیا جاتا ہے۔

8 ڈیاگو، سیٹ اور میپ ٹاسکس

- مجھے امید ہے کہ آپ نے پہلے ہی جان لیا ہوگا کہ سیٹ اور میپ کیا ہیں؟ یہاں کچھ سیٹ اور نقشہ کے کام ہیں۔
جمع کرنے کے کام
1 1. «L» سے شروع ہونے والے 20 الفاظ
سٹرنگز کا ایک سیٹ بنائیں ( Set<String> )، اس میں «L» سے شروع ہونے والے 20 الفاظ رکھیں۔
2 2. 10 سے بڑے تمام نمبروں کو ہٹا دیں
نمبروں کا ایک سیٹ بنائیں ( Set<Integer> )، اس میں 20 مختلف نمبر رکھیں۔
سیٹ سے 10 سے بڑے تمام نمبروں کو ہٹا دیں۔
3 3. ایک جیسے پہلے اور آخری نام
ایک لغت بنائیں ( Map<String, String> ) اور ماڈل «آخری نام» - «پہلا نام» کے مطابق دس اندراجات شامل کریں۔ چیک کریں کہ کتنے لوگوں کا پہلا یا آخری نام بیان کیا گیا ہے۔
4 4. گرمیوں میں پیدا ہونے والے تمام لوگوں کو ہٹا دیں
ایک لغت بنائیں ( Map<String, Date> ) اور ماڈل «آخری مانے» - «تاریخ پیدائش» کے مطابق دس اندراجات شامل کریں۔ موسم گرما میں پیدا ہونے والے تمام لوگوں کو نقشے سے ہٹا دیں۔
5 5. ایک جیسے نام رکھنے والے لوگوں کو ہٹا دیں
ایک لغت بنائیں ( Map<String, String> ) اور ماڈل «آخری نام» - «پہلا نام» کے مطابق دس اندراجات شامل کریں۔ ان لوگوں کو ہٹا دیں جن کا پہلا نام ایک جیسا ہے۔

9 پروفیسر، مجموعوں پر لیکچر

اولڈ لیول 08 - 17--.ہاؤ ہاؤ n. ہم آخر کار مجموعے پر پہنچ گئے۔ میرے پاس اب بھی اس وقت سے ایک شاندار لیکچر ہے جب میں طالب علم تھا۔ یہ تھوڑا سا دھول ہے، یقینا، لیکن بنیادی طور پر بہت اچھا ہے. میرے نوٹ یہ ہیں: جاوا کلیکشنز (اوریکل ڈاکومینٹیشن) جاوا میں کلیکشنز (جاوا ٹی پوائنٹ) جاوا کلیکشن فریم ورک (ٹیوٹوریلز پوائنٹ) جاوا کلیکشن ٹیوٹوریل

10 جولیو

- اچھے رب! آپ پھر سے زیادہ کام کر رہے ہیں! کیا میں نے تمہیں نہیں کہا تھا کہ اتنا کام نہ کرو۔ مجھے آپ کو آرام کرنے میں مدد کرنے کے لیے کچھ کھیلنے دیں:

11 کیپٹن گلہری

- ہیلو، فوجی! - صبح بخیر صاحب! - میرے پاس آپ کے لیے کچھ اچھی خبریں ہیں۔ اپنی صلاحیتوں کو تقویت دینے کے لیے یہاں ایک فوری چیک ہے۔ اسے ہر روز کریں، اور آپ اپنی صلاحیتوں میں تیزی سے اضافہ کریں گے۔ کام خاص طور پر Intellij IDEA میں کرنے کے لیے بنائے گئے ہیں۔
Intellij Idea میں کرنے کے لیے اضافی کام
1 1. بلیوں کا سیٹ 1. کلاس حل کے اندر ایک عوامی جامد کلاس کیٹ
بنائیں ۔ 2. اس طریقہ کو لاگو کریں createCats() ، جس میں بلیوں کا ایک سیٹ بنانا چاہیے اور اس میں تین بلیوں کو شامل کرنا چاہیے۔ 3. اہم طریقہ میں، سیٹ کیٹس سے ایک بلی کو ہٹا دیں۔ 4. طریقہ printCats() کو لاگو کریں ، جو سیٹ میں موجود تمام بلیوں کو اسکرین پر ظاہر کرے۔ ہر بلی کو ایک نئی لائن پر ہونا چاہئے۔


2 2. تمام جانوروں کا سیٹ 1. کلاس حل کے اندر عوامی جامد کلاس بلی اور کتے
بنائیں ۔ 2. طریقہ createCats() کو لاگو کریں ، جس سے 4 بلیوں کا ایک سیٹ واپس آنا چاہیے۔ 3. طریقہ کو لاگو کریں createDogs() ، جس سے 3 کتوں کا ایک سیٹ واپس آنا چاہیے۔ 4. طریقہ join() کو لاگو کریں ، جس سے تمام جانوروں، بلیوں اور کتوں دونوں کا مشترکہ سیٹ واپس آنا چاہیے۔ 5. طریقہ removeCats() کو لاگو کریں ، جس میں سیٹ کیٹس میں موجود تمام بلیوں کو سیٹ پالتو جانوروں سے ہٹا دینا چاہیے۔ 6. طریقہ printPets() کو لاگو کریں ، جو اس میں موجود تمام جانوروں کو اسکرین پر ظاہر کرے۔ ہر جانور کو ایک نئی لائن پر ہونا چاہئے۔




3 3. ایک جیسے پہلے ناموں اور/یا آخری ناموں والے لوگ
1. ایک لغت بنائیں ( Map<String, String> ) اور ماڈل «آخری نام» - «پہلا نام» کے مطابق 10 افراد کو شامل کریں۔
2. ان 10 افراد میں، ایک جیسے ناموں والے لوگ ہوں۔
3. ان 10 افراد میں، ایک جیسے آخری ناموں والے لوگ ہوں۔ 4. نقشے
کے مواد کو اسکرین پر ڈسپلے کریں ۔
4 4. کم از کم N نمبرز
1. کی بورڈ نمبر N سے پڑھیں ۔
2. کی بورڈ N انٹیجرز سے پڑھیں اور طریقہ getIntegerList() کا استعمال کرتے ہوئے ان کے ساتھ فہرست بھریں ۔ 3. طریقہ getMinimum()
کا استعمال کرتے ہوئے فہرست کے عناصر میں سے کم از کم نمبر تلاش کریں ۔
5 5. دیکھو سننا بند کرو۔ اب بڑے کر کے
ایک پروگرام لکھیں جسے کی بورڈ سے ایک سٹرنگ پڑھنی چاہیے۔
پروگرام کو متن میں تمام الفاظ کے پہلے حروف کو بڑے حروف سے بدلنا چاہئے۔
نتیجہ اسکرین پر دکھائیں۔

مثال کے طور پر ان پٹ:
سٹاپ دیکھیں سنیں
مثال آؤٹ پٹ:
روکیں دیکھیں سنیں۔
6 6. پورا خاندان ایک ساتھ ہے 1. فیلڈز کے ساتھ ہیومن کی کلاس
بنائیں : اسٹرنگ کا نام ، بولین سیکس ، انٹ ایج ، ArrayList<Human> بچے ۔ 2. 9 اشیاء بنائیں اور انہیں اس طرح بھریں کہ دو دادا، دو دادی، ایک باپ، ایک ماں اور تین بچے حاصل کریں۔ 3. تمام انسانی اشیاء کو سکرین پر ڈسپلے کریں ۔
7 7. ایک موڈیفائر سٹیٹک منتقل کریں
ایک سٹیٹک موڈیفائر کو منتقل کریں تاکہ کوڈ کمپائل ہو جائے۔
8 8. پانچ سب سے بڑے نمبر
20 نمبروں کی ایک صف بنائیں۔ اسے ان نمبروں سے بھریں جو کی بورڈ سے پڑھے جاتے ہیں۔ اسکرین پر پانچ سب سے بڑے نمبر ڈسپلے کریں۔
9 9. تاریخ
1 کے ساتھ کام کرنا۔ طریقہ isDateOdd(String date) کو لاگو کریں تاکہ یہ صحیح ہو، اگر سال کے آغاز سے دنوں کی تعداد طاق ہو، ورنہ یہ غلط ہو جائے۔
2. اسٹرنگ کی تاریخ 1 مئی 2013

جنوری 1 2000 → سچی
جنوری 2 2020 → غلط کی شکل میں پاس کی گئی ہے
- وہ کام سبزیوں کے لیے تھے۔ میں نے اعلی پیچیدگی کے بونس کاموں کو شامل کیا۔ صرف ٹاپ گنز کے لیے۔
بونس کے کام
1 1. مہینے کا نمبر۔
پروگرام کو کی بورڈ سے مہینے کا نام پڑھنا چاہیے اور اسکرین پر اس کا نمبر درج ذیل طریقے سے دکھانا چاہیے: « مئی 5 مہینہ ہے »
2 2. پروگرام میں نئی ​​فعالیت شامل کریں۔
پرانا کام: پروگرام اس بات کا تعین کرتا ہے کہ کون سا خاندان (اس کا آخری نام) مخصوص نمبر والے گھر میں رہتا ہے۔
نیا کام: پروگرام کو شہروں کے ساتھ کام کرنا چاہیے نہ کہ گھروں کے نمبروں کے ساتھ۔

مثال کے طور پر ان پٹ:
واشنگٹن
سمتھس
نیویارک
براؤنز
لندن
جانسن

لندن

مثال آؤٹ پٹ:
جانسن
3 3. الگورتھم سیکھنا اور اس پر عمل کرنا۔
ٹاسک: پروگرام کو کی بورڈ سے 20 الفاظ پڑھ کر حروف تہجی کی ترتیب میں دکھانا چاہیے۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION