CodeGym /جاوا بلاگ /Random-UR /جاوا میں ایک صف میں ایک نیا عنصر کیسے شامل کریں۔
John Squirrels
سطح
San Francisco

جاوا میں ایک صف میں ایک نیا عنصر کیسے شامل کریں۔

گروپ میں شائع ہوا۔
اوہ، Java arrays۔ وہ سینکڑوں ابتدائی سافٹ ویئر ڈویلپرز کی شدید محبت اور نفرت کا نشانہ ہیں۔ پہلے سے شروع کی گئی صف میں عناصر کو شامل کرنا ناممکن ہے، انہوں نے کہا… دراصل، یہ ممکن ہے، لیکن کلاسیکی معنی میں نہیں… اور یہ بہت آسان نہیں ہے۔ پہلے سے شروع کی گئی صف میں نئے عناصر کو شامل کرنا ایک طرح کی چال ہے۔ تاہم، یہ چالیں انٹرویو میں کام آ سکتی ہیں... اور کبھی کبھی پروگرامر کی نوکری میں۔ اس بات کو یقینی بنانے کے لیے کہ آپ ڈیٹا کی قسم کا استعمال کرتے ہوئے لطف اندوز ہوں اور اسے مؤثر طریقے سے کرنے کا طریقہ جانتے ہوں، ہم نے جاوا صف میں ایک نیا عنصر شامل کرنے کے لیے ایک گائیڈ لکھا ہے۔ تھیوری اور کوڈ کے نمونوں کو احتیاط سے دیکھنے کے علاوہ، پوسٹ میں دکھائے گئے پریکٹس کے مسائل کو چیک کرنا اور مکمل کرنا یقینی بنائیں۔ جاوا میں ایک صف میں نیا عنصر کیسے شامل کیا جائے - 1

جاوا میں ایک صف کیا ہے؟

آئیے یاد کرتے ہیں کہ Array کیا ہے اور اسے جاوا میں کیسے بنایا جائے۔ اگر آپ کو یہ یاد ہے تو بلا جھجھک اگلے ذیلی عنوان "جاوا اریوں میں نئے عناصر کو شامل کرنے کے 5 طریقے" پر جائیں۔ اوریکل کی آفیشل جاوا دستاویزات کا کہنا ہے کہ arrays ایک ہی ڈیٹا کی قسم سے تعلق رکھنے والی اقدار کا ایک سلسلہ ہے۔ انٹیجرز کا ایک سیٹ Java میں ایک صف کی بہترین مثال ہے ۔ آپ کی وضاحت کردہ تمام قدروں کی صف میں ایک مخصوص پوزیشن ہوتی ہے جسے index کہتے ہیں ۔ صفوں کا اعلان اور آغاز کرنے کے طریقے یہ ہیں:
int[] myArray = new int[10];
int[] myArray1 = {1, 0, 3, 17, 5, 6, 7, 8, 9, 10}
پہلی صورت میں، ہم نے ایک array myArray کی وضاحت کی اور جاوا کو 10 عناصر کی ایک صف کے لیے جگہ مختص کرنے کے لیے بنایا، دوسری myArray1 میں ، ہم نے فوری طور پر اس میں 10 قدریں داخل کیں۔ دونوں صورتوں میں، عنصر 11 کو صرف صف میں نہیں دھکیلا جا سکتا۔ صفوں کے ساتھ آپریشن کرنے کے لیے، ڈویلپرز ان اقدار کے اشاریہ جات میں ہیرا پھیری کرتے ہیں جو ایک صف پر مشتمل ہے۔ ہمیں کیا کرنا چاہئے؟ آئیے صف میں شامل کرنے کے سب سے عام طریقوں پر ایک نظر ڈالیں۔

جاوا اری میں نئے عناصر شامل کرنے کے 5 طریقے

ٹھیک ہے، یہاں ہماری تدبیریں ناقابل تغیر کو متغیر نظر آتی ہیں۔
  • ایک صف کو فہرست میں تبدیل کریں۔
  • بڑی صلاحیت کے ساتھ ایک نئی صف بنائیں اور صف میں ایک نیا عنصر شامل کریں۔
  • System.arraycopy () کو نافذ کرنا
  • اپاچی کامنز کا استعمال کرتے ہوئے صفوں کو کاپی کرنا
  • ArrayCopyOf() طریقہ کا اطلاق کرنا
آئیے ایک سرنی میں عنصر شامل کرنے کے ان طریقوں پر گہری نظر ڈالیں۔

1. ایک صف کو فہرست میں تبدیل کرنا

چونکہ ہم براہ راست کسی صف میں کوئی نیا عنصر شامل نہیں کر سکتے، اس لیے اگلا سب سے اچھا کام انہیں فہرستوں میں تبدیل کرنا، نئے عناصر کا اضافہ کرنا، اور قدروں کو دوبارہ صفوں میں تبدیل کرنا ہے۔ ایک صف کو فہرست میں تبدیل کرنے کا پہلا طریقہ یہ ہے کہ ایک نئی ArrayList بنانے کے لیے asList() کا استعمال کریں۔ ایک بار جب اقدار کی حد کامیابی کے ساتھ تبدیل ہو جاتی ہے، تو قدر داخل کرنے کے لیے ListAdd() کا استعمال کریں۔ ایک بار جب آپ کو کسی صف میں ترمیم کرنے کی ضرورت نہیں ہے تو، toArray() طریقہ کی مدد سے اصل ڈیٹا ٹائپ میں تبدیل کریں ۔ تمام طریقوں اور تبادلوں کے ساتھ، یہ سب سے پہلے الجھا ہوا لگ سکتا ہے۔ آئیے چیزوں کو صاف کرنے کے لیے asList() کے استعمال کی مثال پر ایک نظر ڈالیں۔
// Code for adding Java arrays to a program
import java.lang.*;
import java.util.*;

class ArrayDemo{
   //Let’s add a new element to an array
   public static Integer[] addX(Integer myArray[], int x) {
       int i;
       //turn array into ArrayList using asList() method
       List arrList = new ArrayList( Arrays.asList(myArray));

       // adding a new element to the array
       arrList.add(x);

       // Transforming the ArrayList into an array
       myArray = arrList.toArray(myArray);
       return myArray;
   }
   public static void main(String[] args) {
       int i;
       //initial array
       Integer myArray[] = { 0, 1, 2, 45, 7, 5, 17};

       //print the initial array out
       System.out.println("Initial Array: "
                          + Arrays.toString(myArray));

       //element to be added
       int x = 28;

       // call the method to add x in myArray
       myArray = addX(myArray, x);

       // print the updated array out
       System.out.println("Array with " + x + " added: "
                          + Arrays.toString(myArray));
   }
}
آؤٹ پٹ ہے:
ابتدائی صف: [0, 1, 2, 45, 7, 5, 17] 28 کے ساتھ صف شامل کی گئی: [0, 1, 2, 45, 7, 5, 17, 28]
لہذا، پروگرام میں ہم نے کامیابی کے ساتھ 7 ویلیوز کا ایک array myArray بنایا ہے ، اسے پُر کیا ہے اور اسے پرنٹ کیا ہے۔ پھر ہم نے فیصلہ کیا کہ دس اقدار ہمارے لیے کافی نہیں ہیں۔ ٹھیک ہے، ہم نے Arrays.asList طریقہ استعمال کرتے ہوئے myArray کو ArrayList arrList میں تبدیل کیا ۔ یہاں 28 ہے، جو عنصر شامل کرنا ہے۔ ہم نے اسے ArrayList arrList میں شامل کیا ، اور پھر toArray() طریقہ استعمال کرتے ہوئے اسے دوبارہ ایک صف میں تبدیل کیا اور نئی صف کو پرنٹ کیا۔

2. بڑی صلاحیت کے ساتھ ایک نئی صف بنائیں

ایک صف میں مزید عناصر شامل کرنے کا ایک سب سے عام طریقہ یہ ہے کہ شروع سے ایک نیا، بڑا، صف بنانا، پرانے عناصر کو شامل کرنا اور نئے عناصر کو شامل کرنا ہے۔ یہاں اس عمل کا ایک قدم بہ قدم واک تھرو ہے:
  • صلاحیت a+n (a — اصل صف کی گنجائش، n — عناصر کی تعداد جو آپ شامل کرنا چاہتے ہیں) کے ساتھ ایک نئی صف بنائیں۔
  • پچھلے ڈیٹا رینج کے تمام عناصر کو نئے میں شامل کریں، ساتھ ہی نئی قدروں کو بھی۔
  • نتیجے میں سرنی پرنٹ کریں.
اپنے طور پر ایسی صف بنانے کی کوشش کریں اور اپنے کوڈ کا اس سے ذیل کی مثال میں موازنہ کریں:
// Java Program to add an element in an Array

import java.lang.*;
import java.util.*;

class ArrayDemo {
   //Method to add an element x into array myArray
   public static int[] addX(int myArray[], int x) {
       int i;

       // create a new array of a bigger size (+ one element)
       int newArray[] = new int[myArray.length + 1];

       // insert the elements from the old array into the new one
       for (i = 0; i < myArray.length; i++)
           newArray[i] = myArray[i];

       newArray[myArray.length] = x;
       return newArray;
   }

   public static void main(String[] args) {
       int i;

       // initial array of size 10
       int arr[]
               = {0, 1, 2, 45, 7, 5, 17};

       // print the initial array
       System.out.println("Initial Array: " + Arrays.toString(arr));

       // element to be added
       int x = 28;

       // call the addX method to add x in arr
       arr = addX(arr, x);
       // print the updated array
       System.out.println("Array with " + x + " added:" + Arrays.toString(arr));
   }
}
آؤٹ پٹ ہے:
ابتدائی صف: [0, 1, 2, 45, 7, 5, 17] 28 کے ساتھ صف شامل کی گئی: [0, 1, 2, 45, 7, 5, 17, 28]
ٹھیک ہے، ایک صف میں ایک نیا عنصر شامل کرنے کا یہ طریقہ سب سے آسان ہے۔

3. System.arrayCopy() کا اطلاق کرنا

System.arrayCopy() ایک وسیع پیمانے پر استعمال ہونے والا طریقہ ہے جو کسی ماخذ صف کی منزل پر ایک بڑی صف کو مختص کرنے کے لیے ہے۔ ایک ڈویلپر اس ترتیب کی وضاحت کر سکتا ہے جسے وہ طریقہ کے بریکٹ میں ایک نئی صف میں کاپی کرنا چاہتا ہے۔ یہ دیکھنے کے لیے کہ طریقہ کیسے کام کرتا ہے اور اسے اپنے لیے استعمال کرنے کی کوشش کریں، ایک نظر ڈالیں اور نیچے دی گئی مثال کو چلانے کی کوشش کریں:
import java.util.Arrays;

class ArrayDemo {
   private static Integer[] addElement(Integer[] myArray, int newElement) {
       //we create a new Object here, an array of bigger capacity
       Integer[] array = new Integer[myArray.length + 1];
       System.arraycopy(myArray, 0, array, 0, myArray.length);
       array[myArray.length] = newElement;
       return array;
   }

   public static void main(String[] args) {
       Integer[] myArray = {20, 21, 3, 4, 5, 88};
       System.out.println("myArray before adding a new element: " + Arrays.toString(myArray));
       myArray = addElement(myArray, 12);
       System.out.println("myArray before adding a new element: " + Arrays.toString(myArray));
   }
}
آؤٹ پٹ ہے:
نیا عنصر شامل کرنے سے پہلے myArray: [20, 21, 3, 4, 5, 88] myArray ایک نیا عنصر شامل کرنے سے پہلے: [20, 21, 3, 4, 5, 88, 12]
یہاں ہم نے ایک صف بنائی ہے myArray ، اسے پرنٹ کیا ہے اور ہمارے addElement طریقہ کا استعمال کرتے ہوئے ایک نیا عنصر شامل کیا ہے، جو System.arrayCopy() پر بنایا گیا ہے ۔

4. صفوں کو کاپی کرنے کے لیے اپاچی کامنز کا استعمال

آئیے ایک غیر معیاری طریقہ استعمال کریں۔ یعنی، تیسری پارٹی کی لائبریری اپاچی کامنز لینگ۔ یہ اپاچی کامنز پروجیکٹ کا ایک حصہ ہے جو دوبارہ قابل استعمال جاوا اجزاء کے تمام پہلوؤں پر مرکوز ہے۔ منصوبے کے بارے میں علم ضرورت سے زیادہ نہیں ہوگا۔ Apache Commons lang میں ایک طریقہ add() ہے جو خاص طور پر اریوں کو پھیلانے کی اجازت دینے کے لیے ڈیزائن کیا گیا ہے، یہ کوڈرز کو بہت وقت اور محنت بچاتا ہے۔ یہ بات ذہن میں رکھنے کے قابل ہے کہ یہ Apache Commons add() طریقہ System.arraycopy() طریقہ کو کال کرنے پر مبنی ہے اگر آپ کو کسی مشکل امتحان یا انٹرویو کے سوال کا جواب دینا پڑے۔ اپنے پروجیکٹ میں لائبریریوں کو شامل کرنے کے لیے اپاچی کامنز ویب سائٹ پر جائیں اور لائبریریاں ڈاؤن لوڈ کریں۔ پھر فائل → پروجیکٹ اسٹرکچر → لائبریریز > + پر جائیں اور ڈاؤن لوڈ کی گئی جار فائلوں کو منتخب کریں۔
import org.apache.commons.lang3.ArrayUtils;
import java.util.Arrays;

class ArrayDemo {
   private static <T> T[] append(T[] arr, T element) {
       return ArrayUtils.add(arr, element);
   }

   public static void main(String[] args) {
       Integer[] myArray = { 0, 1, 2, 3, 4};
       System.out.println("myArray: " + Arrays.toString(myArray));

       myArray = append(myArray, 5);
       System.out.println("new Array with the number added: " + Arrays.toString(myArray));
   }
}
آؤٹ پٹ ہے:
myArray: [0, 1, 2, 3, 4] شامل کردہ نمبر کے ساتھ نئی صف: [0, 1, 2, 3, 4, 5]

5. ArrayCopyOf() کو نافذ کرنا

ArrayCopyOf() ایک صف میں نیا عنصر شامل کرنے کا ایک اور طریقہ ہے۔ جیسے کہ Apache Commons lang add() یہ اس آپریشن کو کرنے کے لیے اندرونی طور پر System.arraycopy() کہتا ہے۔ تاہم زیادہ تر ڈویلپرز ArrayCopyOf() کو ترجیح دیتے ہیں کیونکہ یہ انہیں کوڈ کو جامع اور پڑھنے کے قابل رکھنے کی اجازت دیتا ہے۔ ایک صف میں نئے عناصر شامل کرنے کے لیے ArrayCopyOf() کو استعمال کرنے کی ایک مثال یہ ہے ۔
import java.util.Arrays;
class ArrayDemo {
   private static <X> X[] addElement(X[] myArray, X element) {
       X[] array = Arrays.copyOf(myArray, myArray.length + 1);
       array[myArray.length] = element;
       return array;
   }
   public static void main(String[] args) {
       Integer[] myArray = {20, 21, 3, 4, 5, 88};
       System.out.println("myArray before adding a new element: " + Arrays.toString(myArray));
       myArray = addElement(myArray, 12);
       System.out.println("myArray before adding a new element: " + Arrays.toString(myArray));
   }
}
آؤٹ پٹ ہے:
نیا عنصر شامل کرنے سے پہلے myArray: [20, 21, 3, 4, 5, 88] myArray ایک نیا عنصر شامل کرنے سے پہلے: [20, 21, 3, 4, 5, 88, 12]

نتیجہ

کسی صف میں عناصر کو شامل کرنے کا طریقہ جاننا ڈویلپرز کو پرانے کوڈ کی فعالیت اور پڑھنے کی اہلیت کو قربان کیے بغیر تیزی سے اپ ڈیٹ کرنے میں مدد کرتا ہے… یا صرف انٹرویو پاس کرنے کے لیے۔ چونکہ Java arrays میں عناصر کو شامل کرنے کے مختلف طریقے ہیں، اس لیے بلا جھجھک وہ طریقہ منتخب کریں جس کے ساتھ آپ آرام دہ ہوں۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION