او، جاوا صفا. اهي سوين شروعاتي سافٽ ويئر ڊولپرز جي شديد محبت ۽ نفرت جو اعتراض آهن. عناصر شامل ڪرڻ هڪ صف ۾ جيڪو اڳ ۾ ئي شروع ڪيو ويو آهي ناممڪن آهي، انهن چيو ... حقيقت ۾، اهو ممڪن آهي، پر هڪ طبقاتي معني ۾ نه آهي ... ۽ اهو تمام آسان ناهي. نئين عناصر کي شامل ڪرڻ هڪ صف ۾ جيڪو اڳ ۾ ئي شروع ڪيو ويو آهي هڪ چال جو هڪ قسم آهي. بهرحال، اهي چالون هڪ انٽرويو ۾ هٿ ۾ اچي سگهن ٿيون ... ۽ ڪڏهن ڪڏهن پروگرامر جي نوڪري ۾. پڪ ڪرڻ لاءِ ته توهان ڊيٽا جي قسم کي استعمال ڪندي لطف اندوز ٿي رهيا آهيو ۽ ڄاڻو ٿا ته ان کي موثر طريقي سان ڪيئن ڪجي، اسان هڪ گائيڊ لکيو آهي ته جاوا صف ۾ نئون عنصر شامل ڪرڻ تي. نظريي ۽ ڪوڊ جي نمونن جي احتياط سان وڃڻ کان سواء، پوسٽ ۾ شامل ڪيل مشق مسئلن کي چيڪ ڪرڻ ۽ مڪمل ڪرڻ جي پڪ ڪريو. جاوا ۾ هڪ صف ۾ نئون عنصر ڪيئن شامل ڪجي - 1

جاوا ۾ هڪ Array ڇا آهي

اچو ته ياد ڪريون ته Array ڇا آهي ۽ ان کي جاوا ۾ ڪيئن ٺاهيو. جيڪڏهن توهان کي ياد آهي ته، اڳتي وڌڻ لاءِ آزاد محسوس ڪريو اڳيان ايندڙ ذيلي عنوان "5 جاوا اري ۾ نوان عنصر شامل ڪرڻ جا طريقا". Oracle جي سرڪاري جاوا دستاويزن جو چوڻ آهي ته arrays هڪ ئي ڊيٽا جي قسم سان لاڳاپيل قدرن جو هڪ سلسلو آهي. انگن جو هڪ سيٽ جاوا ۾ هڪ صف جو هڪ بهترين مثال آهي . سڀئي قدر جيڪي توھان بيان ڪندا آھيو ھڪڙي مخصوص پوزيشن کي صف اندر آھي جنھن کي انڊيڪس سڏيو ويندو آھي . هتي بيان ڪرڻ ۽ صفن کي شروع ڪرڻ جا طريقا آهن:
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()
  • Apache Commons استعمال ڪندي صفن کي نقل ڪرڻ
  • ArrayCopyOf() طريقو لاڳو ڪرڻ
اچو ته انهن طريقن تي هڪ ويجهي نظر رکون ته هڪ عنصر کي هڪ صف ۾ شامل ڪرڻ لاء.

1. ھڪڙي لسٽ کي ھڪڙي لسٽ ۾ تبديل ڪرڻ

جيئن ته اسان هڪ نئين عنصر کي سڌو سنئون صف ۾ شامل نه ڪري سگهون ٿا، ايندڙ بهترين ڪم انهن کي فهرستن ۾ تبديل ڪرڻ، نوان عنصر شامل ڪرڻ، ۽ قدرن کي ٻيهر صفن ۾ واپس آڻڻ آهي. هڪ صف کي هڪ فهرست ۾ تبديل ڪرڻ جو پهريون طريقو آهي استعمال ڪرڻ asList() نئين ArrayList ٺاهڻ لاءِ. هڪ دفعو قدر جي حد ڪاميابي سان تبديل ٿي وئي آهي، استعمال ڪريو 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 استعمال ڪندي صفن کي نقل ڪرڻ لاءِ

اچو ته هڪ غير معياري طريقو استعمال ڪريو. يعني، هڪ ٽئين پارٽي لائبريري Apache Commons lang. اهو Apache Commons پروجيڪٽ جو حصو آهي جيڪو ٻيهر استعمال ٿيندڙ جاوا اجزاء جي سڀني حصن تي مرکوز آهي. پروجيڪٽ جي باري ۾ ڄاڻ ضرورت کان وڌيڪ نه هوندي. Apache Commons lang وٽ ھڪڙو طريقو آھي add() خاص طور تي ٺاھيو ويو آھي ته جيئن وسعت واري صفن کي، اھو ڪوڊرز کي گھڻو وقت ۽ ڪوشش بچائي ٿو. اهو ذهن ۾ رکڻ جي قابل آهي ته هي Apache Commons add() طريقو ڪالنگ تي ٻڌل آهي System.arraycopy() طريقي جي صورت ۾ جيڪڏهن توهان کي مشڪل امتحان يا انٽرويو سوال جو جواب ڏيڻو آهي. لائبريرين کي پنهنجي پروجيڪٽ ۾ شامل ڪرڻ لاءِ Apache Commons ويب سائيٽ تي وڃو ۽ لائبريريون ڊائون لوڊ ڪريو. پوءِ فائل → پراجيڪٽ اسٽرڪچر → لائبريريز > + ڏانھن وڃو ۽ ڊائون لوڊ ڪيل جار فائلون چونڊيو.
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]

نتيجو

ڄاڻو ته صف ۾ عناصر ڪيئن شامل ڪيا وڃن ڊولپرز کي پراڻي ڪوڊ کي جلدي اپڊيٽ ڪرڻ ۾ مدد ڪري ٿي ان جي ڪارڪردگي ۽ پڙهڻ جي قابليت کي قربان ڪرڻ کان سواء... يا صرف انٽرويو پاس ڪرڻ لاء. جيئن ته جاوا صفن ۾ عناصر شامل ڪرڻ جا مختلف طريقا آهن، انهي طريقي کي چونڊڻ لاء آزاد محسوس ڪريو جنهن سان توهان آرام سان آهيو.