CodeGym /جاوا بلاگ /Random-SD /جاوا ۾ Array کان ArrayList ۾ تبديلي
John Squirrels
سطح
San Francisco

جاوا ۾ Array کان ArrayList ۾ تبديلي

گروپ ۾ شايع ٿيل
سلام اڄ جي سبق ۾، اسين ڳالهائينداسين ته ڪيئن جاوا ۾ Array کي شروع ڪجي ۽ ڪيئن Array کي Arraylist ۾ تبديل ڪجي. Arrays جاوا ۾ ڪنٽينر ڪلاس جو ھڪڙو واڌارو آھي ۽ ھڪڙي طريقي سان ڪارائتو ٿي سگھي ٿو عارضي طور تي ھڪڙي قسم جي ڊيٽا جي ھڪڙي سيٽ کي رکڻ لاء جڏھن ڊيٽا جي مقدار خاص طور تي ڄاڻايل آھي. پر Arrays جامد آهن جڏهن ٺاهي وئي، جنهن جو مطلب اهو آهي ته جڏهن توهان هڪ ٺاهيندا آهيو، توهان ان ۾ رکيل شيون جو تعداد تبديل نٿا ڪري سگهو. توهان کي ياد رکڻ گهرجي ته جاوا ۾ هڪ صف کي ڪيئن شروع ڪجي؛ اهو هن طرح نظر اچي ٿو:
datatype[] isArray;
جتي ڊيٽا ٽائپ ڪنهن به ابتدائي ڊيٽا جو قسم آهي جهڙوڪ int، float، ڊگهو، يا اڃا به String. توھان پڻ بيان ڪري سگھوٿا بریکٹس بيان ڪرڻ کان پوءِ جيئن:
datatype isArray[];
پوءِ اسان هن جامد صف کي عناصر جي هڪ سيٽ نمبر سان ڪيئن وٺي سگهون ٿا ۽ ان کي ArrayList ۾ تبديل ڪريون ٿا؟ خير، پهرين، اچو ته ڏسو ته ڇا هڪ ArrayList آهي.

ArrayList

هڪ ArrayList ٿي سگهي ٿو هڪ Array لاءِ ساڳيو نالو پر اهو مڪمل طور تي مختلف طريقي سان سنڀاليو وڃي ٿو. اهو ئي سبب آهي ته هڪ ArrayList ڪنٽينر ڪلاس کي نه وڌائيندو آهي، اهو لسٽ ڪلاس کي وڌائيندو آهي. ۽ ان جو مطلب اهو آهي ته هر شي کي مختلف طريقي سان سنڀاليو وڃي ٿو. هڪ شيء لاء، ڇاڪاڻ ته اها هڪ فهرست آهي، توهان ان کي مختلف طريقي سان ٺاهي سگهو ٿا. توھان استعمال ڪري سگھوٿا ArrayList جي سائيز کي وڌائي يا گھٽائي سگھو add(element) ، جيڪو عنصر کي لسٽ جي آخر ۾ رکي ٿو ۽ جيڪڏھن ضروري ھجي ته ھڪڙي سائيز وڌائي ٿو. يا توهان استعمال ڪري سگهو ٿا trimToSize() جيڪو ڪنهن به خالي انڊيڪس کي ختم ڪري ٿو آخر ۾ ۽ ٽريم ڪري ٿو ArrayList کي ان جي موجوده سائيز تائين. تنهن ڪري توهان ڏسي سگهو ٿا ته صرف هڪ صف جي بدران ArrayList استعمال ڪرڻ جا ڪجھ فائدا آهن. اڳتي اسان توهان کي ڏيکارينداسين ٻه طريقا هڪ Array کان هڪ ArrayList ۾ تبديل ڪرڻ ۽ جيڪڏهن توهان کي ضرورت هجي ته واپس ڪيئن وڃو.

جاوا ۾ Array کان ArrayList ۽ ArrayList کان Array ڏانھن منتقل

سو، اچو ته چئو ته توهان هڪ پروگرام لکيو آهي ان جي فهرست رکڻ لاءِ ته توهان جي ڪمپني وٽ ٻلي جي وڻن جي مرمت لاءِ ڪيترا نٽ ۽ بولٽس آهن. سالن تائين، توهان کي انهن جي صرف 30 مختلف قسمن جي ضرورت آهي، تنهنڪري ٽريڪ رکڻ لاءِ صرف هڪ صف استعمال ڪرڻ آسان ٿي ويو آهي. پر ھاڻي توھان وٽ ھڪڙو نئون ڪلائنٽ آھي جيڪو توھان کي اضافي 5 قسمن جي اسٽاڪ ڪرڻ جي ضرورت آھي. توهان پنهنجي پروگرام کي ڪيئن تبديل ڪري سگهو ٿا ۽ توهان جي سڀني ڊيٽا کي ڪيئن رکي سگهو ٿا، ۽ پنهنجو پاڻ کي ٻيهر ڪرڻ کان روڪيو جڏهن توهان هڪ ٻيو ڪلائنٽ چونڊيو ٿا؟ اهو درست آهي! هڪ ArrayList! پوءِ توھان ڪيئن بدلائي سگھوٿا جاوا ايري کي ArrayList ۾؟ اتي ٽي طريقا آهن. .asList() طريقو استعمال ڪندي Java arrays وٽ ھڪڙو وڏو اوزار آھي جيڪو توھان ڏسي سگھوٿا جڏھن توھان API کي ڏسندا آھيو جنھن کي .asList() سڏيو ويندو آھي . تنهنڪري توهان صرف هن ۾ لکي سگهو ٿا:
boltInventory.asList(bolts);
هن طريقي سان مسئلو اهو آهي ته اهو هڪ حقيقي ArrayList ٺاهي نٿو سگهي. اهو ڇا ڪري ٿو هڪ فهرست ٺاهي جيڪا سائيز ۾ مقرر ڪئي وئي آهي ۽ ناقابل تبديلي. تنهن ڪري توهان اڃا تائين سائيز کي متحرڪ انداز ۾ تبديل نٿا ڪري سگهو. عناصر کي شامل ڪرڻ يا ختم ڪرڻ جي ڪوشش ڪري استثنا پيدا ڪندو. تنهن ڪري جڏهن هن وٽ ان جا استعمال آهن، اهو صحيح تبديلي نه آهي. پر اسان هن کي استعمال ڪري سگهون ٿا. .asList() کي هڪ دليل طور استعمال ڪندي هي ٻيو طريقو آهي هڪ صف کي جاوا ۾ لسٽ ۾ تبديل ڪرڻ جو. ڇاڪاڻ ته .asList() طريقو هڪ فهرست ٺاهي ٿو، اسان ان کي استعمال ڪري سگھون ٿا اسان جي حقيقي ArrayList ڏانهن حوالو ڏيڻ لاء. هتي آهي هڪ ArrayList کي ڪيئن شروع ڪجي:
ArrayList<Integer> boltsInventory = new ArrayList<Integer>();
هي هڪ ArrayList ٺاهيندو جنهن ۾ ڏهه خالي سيل هوندا. بهرحال، () آخر ۾ استعمال ڪري سگھجي ٿو ArrayList ڀرڻ لاءِ دليل پاس ڪرڻ لاءِ. تنهن ڪري .asList طريقي سان گڏ ڪندي ، توهان وٽ آهي:
ArrayList<Integer> boltsInventory = new ArrayList<Integer>(Arrays.asList(bolts));
هي .asList() طريقي سان ٺاهيل لسٽ کي ArrayList ۾ منتقل ڪري ٿو، تنهنڪري هاڻي توهان ان کي متحرڪ طور تي ترتيب ڏئي سگهو ٿا جيئن توهان کي ضرورت آهي. Collections.addAll() طريقو استعمال ڪرڻ جاوا ۾ Array کي ArrayList ۾ تبديل ڪرڻ جو ٻيو طريقو ھي طريقو استعمال ڪرڻ آھي. اهو Array جي مواد کي ArrayList ڏانهن منتقل ڪري ٿو. ھن طريقي لاءِ عام نحو آھي:
Collections.addAll(c, T);
جتي سي منزل آهي ۽ T اهو آهي جيڪو گذري رهيو آهي. تنهن ڪري اسان جي مثال لاء، نحو هن طرح نظر ايندو:
ArrayList<Integer> boltsInventory = new ArrayList<Integer>():
Collections.addAll(boltsInventory, bolts);
هي Array بولٽس جي سموري مواد کي نئين ArrayList ڏانهن منتقل ڪندو. ھڪڙي ArrayList کي Array ۾ تبديل ڪرڻ ھڪڙو وقت اچي سگھي ٿو جڏھن توھان کي جاوا ۾ ArrayList کي Array ۾ تبديل ڪرڻ جي ضرورت آھي. جيڪڏھن توھان ڪريو ٿا، ArrayList وٽ ھڪڙو طريقو آھي .toArray(a) ، جتي a منزل آھي. تنهنڪري اسان جي مثال لاء، نحو هوندو:
Integer boltsInventoryArray[] = new Integer{boltsInventory.size()];
// this ensures the newly created array is of the same size as the ArrayList
boltsInventoryArray = boltsInventory.toArray(boltsInventoryArray);
جڏهن توهان هڪ فهرست تبديل ڪريو جاوا ۾ ترتيب ڏيڻ لاءِ هن طرح، توهان ٺاهي رهيا آهيو هڪ گندي ڪاپي. اھو آھي، Array جا سڀ حوالا ArrayList جي حوالن کان مختلف آھن. تنهن ڪري توهان ArrayList ۾ محفوظ ڪيل ڊيٽا کي تبديل ڪرڻ کان سواءِ آري ۾ ڊيٽا کي ترتيب ڏئي سگهو ٿا. اهو ڪارائتو آهي هڪ جاوا لسٽ کي هڪ صف ۾ تبديل ڪرڻ جڏهن توهان کي ڊيٽا کي جانچڻ جي ضرورت آهي.

نتيجو

تيز رسائي ۽ ننڍڙن ڊيٽا سيٽن جي تڪڙي ڦيرڦار لاءِ صفا ڏاڍا ڪارآمد آهن، پر انهن جي سائيز کي تبديل ڪرڻ جي ناڪاميءَ جو مطلب اهو آهي ته اهي ڊگھي مدت جي استعمال لاءِ تيزيءَ سان ڪارڪردگيءَ کان محروم ٿي وڃن ٿا. هڪ ArrayList توهان کي اها لچڪ ۽ ضرورت مطابق نوڊس داخل ڪرڻ ۽ ختم ڪرڻ جي صلاحيت ڏئي ٿي. سکو ته ڪيئن جاوا ايري کي لسٽ ۾ تبديل ڪيو وڃي توهان جي پروگرامن جي مجموعي ڪارڪردگي کي بهتر بڻائي ۽ انهن جي رن ٽائمز کي پڻ بهتر بڻائي.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION