JavaRush /جاوا بلاگ /Random-SD /ڪافي بريڪ #144. جاوا ۾ لسٽ (ArrayList) ۾ هڪ صف کي ڪيئن بد...

ڪافي بريڪ #144. جاوا ۾ لسٽ (ArrayList) ۾ هڪ صف کي ڪيئن بدلجي. جاوا ۾ انحصار انجکشن

گروپ ۾ شايع ٿيل

جاوا ۾ لسٽ (ArrayList) ۾ صف کي ڪيئن بدلجي

ماخذ: Rrtutors اڄ توهان مختلف طريقن جي باري ۾ سکندا ته هڪ فهرست (ArrayList) ۾ هڪ صف کي تبديل ڪرڻ ۽ انهن مان هر هڪ ۾ ڪوڊ جا مثال ڏسو. ڪافي بريڪ #144.  جاوا ۾ لسٽ (ArrayList) ۾ هڪ صف کي ڪيئن بدلجي.  جاوا ۾ انحصار انجکشن - 1جيتوڻيڪ arrays سادي ۽ استعمال ڪرڻ ۾ آسان آهن، انهن وٽ ڪيتريون ئي حدون آهن، جهڙوڪ مقرر ڪيل سائيز. اهو شروع ۾ هڪ نئون عنصر شامل ڪرڻ ۽ عناصر کي ٻيهر ترتيب ڏيڻ ڏکيو بڻائي ٿو. مجموعن جي فريم ورڪ جي مهرباني، اسان مختلف طريقن سان لسٽ، سيٽ ۽ قطار کي لاڳو ڪري سگھون ٿا. مثال طور، استعمال ڪندي آفاقي ۽ لچڪدار لسٽ جي arrays (ArrayList). اتي ٽي طريقا آھن توھان استعمال ڪري سگھوٿا جڏھن جاوا ۾ ھڪڙي صف کي تبديل ڪريو. انهن طريقن ۾ شامل آهن:
  1. بيوقوف يا وحشي قوت جو طريقو.
  2. Arrays.asList() طريقو .
  3. Collections.addAll() طريقو .

هڪ غير جانبدار يا وحشي قوت جو طريقو استعمال ڪندي

هن طريقي ۾، هڪ خالي صف مان هڪ فهرست ٺاهي وئي آهي ۽ صف جي هر عنصر کي هڪ هڪ ڪري شامل ڪيو ويندو آهي. اهو طريقو هيٺ ڏنل ڪم ڪرڻ کان پوء ڪم ڪري ٿو:
  • صفا حاصل ڪريو.
  • خالي لسٽ ٺاهيو.
  • صف ۾ عناصر جي ذريعي لوپ.
  • ھاڻي شامل ڪريو ھر عنصر کي صف ۾.
  • مڪمل فهرست واپس ڪريو.
هي مثال ميون جي هڪ صف کي ميون جي فهرست ۾ تبديل ڪري ٿو:
import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

public class NaivemethodExample {

    public static <T> List<T> convertArrayToList(T array[])

    {

        List<T> list = new ArrayList<>();

        for (T t : array) {

            list.add(t);

        }

        return list;

    }

    public static void main(String args[])

    {

        String array[]

            = { "Mangoes", "Oranges", "berries" };

        System.out.println("Array: "

                           + Arrays.toString(array));

        List<String> list = convertArrayToList(array);

        System.out.println("List: " + list);

    }

}

Arrays.asList() طريقو

Arrays.asList() طريقي کي استعمال ڪندي ، هڪ سري لسٽ تعمير ڪندڙ ڏانهن منتقل ڪيو ويو آهي جيئن ته تعمير ڪندڙ کي پيراميٽر. هڪ صف کي هڪ فهرست ۾ تبديل ڪرڻ لاءِ هتي توهان کي هيٺين قدمن تي عمل ڪرڻو پوندو.
  • صفا حاصل ڪريو.
  • لسٽ ٺاھيندڙ ۾ ھڪڙي پيراميٽر جي طور تي صف کي منتقل ڪندي ھڪڙي فهرست ٺاھيو.
  • مڪمل فهرست واپس ڪريو.
هتي استعمال ڪرڻ جو هڪ مثال آهي Arrays.asList() طريقو ميون جي هڪ فهرست کي تبديل ڪرڻ لاءِ:
package asList;

import java.util.Arrays;

import java.util.List;

public class asListExample {

    public static <T> List<T> convertArrayToList(T array[])

    {

        List<T> list = Arrays.asList(array);

        return list;

    }

    public static void main(String args[])

    {

        String array[]

            = { "Mangoes", "Oranges", "berries" };

        System.out.println("Array: "

                          + Arrays.toString(array));

        List<String> list = convertArrayToList(array);

        System.out.println("List: " + list);

    }

}

Collections.addAll() طريقو

جيئن ته لسٽون جاوا ۾ ڪليڪشن پيڪيج جو حصو آهن، ان ڪري توهان Collections.addAll() طريقو استعمال ڪندي هڪ صف کي فهرست ۾ تبديل ڪري سگهو ٿا . ھي طريقو ھيٺ ڏنل قدمن کي استعمال ڪندي ھڪڙي فهرست کي ھڪڙي فهرست ۾ تبديل ڪري ٿو:
  • اسان هڪ صف حاصل ڪريون ٿا.
  • خالي لسٽ ٺاهيو.
  • اچو ته مجموعي کي استعمال ڪري لسٽ ۾ تبديل ڪريون collections.addAll() طريقو .
  • اسان هڪ فهرست واپس ڪريون ٿا.
مثال:
import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collections;

import java.util.List;

public class collectionsall {

    public static <T> List<T> convertArrayToList(T array[])

    {

        List<T> list = new ArrayList<>();

        Collections.addAll(list, array);

        return list;

    }



    public static void main(String args[])

    {

        String array[]

            = { "peas", "tomatoes", "water melons" };

        System.out.println("Array: "

                           + Arrays.toString(array));

        List<String> list = convertArrayToList(array);

        System.out.println("List: " + list);

    }

}
نتيجو:
صفا: [مٽر، ٽماٽي، پاڻي جو خربوز] فهرست: [مٽر، ٽماٽو، پاڻي خربوز]

جاوا ۾ انحصار انجکشن

ذريعو: وچولي هن پوسٽ ۾، توهان سکندا ته ڇا انحصار انجيڪشن جاوا ۾ آهي، اهو ڪٿي استعمال ٿيندو آهي، ۽ اهو ڊولپر کي ڪهڙو فائدو ڏئي ٿو. ڪافي بريڪ #144.  جاوا ۾ لسٽ (ArrayList) ۾ هڪ صف کي ڪيئن بدلجي.  جاوا ۾ انحصار انجڻ - 2Dependency Injection (DI) هڪ سافٽ ويئر جزو کي خارجي انحصار مهيا ڪرڻ جو عمل آهي. انحصار انجيڪشن جو مقصد انهن کي استعمال ڪرڻ کان شيون ٺاهڻ جي مسئلن کي الڳ ڪرڻ آهي. لاڳو ڪرڻ جو اصول فرض ڪري ٿو ته هڪ اعتراض يا فنڪشن جيڪو ڪنهن ڏنل خدمت کي استعمال ڪرڻ چاهي ٿو، اهو ڄاڻڻ جي ضرورت ناهي ته ان کي ڪيئن ٺاهيو وڃي. ان جي بدران، وصول ڪندڙ "ڪلائنٽ" (آبجڪٽ يا فنڪشن) ان جي انحصار کي خارجي ڪوڊ (هڪ "انجيڪٽر") کان حاصل ڪري ٿو جنهن کان اهو بي خبر آهي. هتي هڪ سٺو مثال آهي. جڏهن هڪ ڪلاس X ڪلاس Y جي ڪجهه ڪارڪردگي کي استعمال ڪري ٿو، اسان چئون ٿا ته ڪلاس X جو ڪلاس Y تي دارومدار آهي. انحصار انجيڪشن توهان کي اجازت ڏئي ٿو ته توهان ڪلاس کان ٻاهر منحصر شيون ٺاهي ۽ انهن شين کي مختلف طريقن سان ڪلاس ڏانهن ظاهر ڪري. انهي حالت ۾، انحصار شين جي تخليق ۽ پابند طبقي کان ٻاهر منتقل ٿي ويا آهن جيڪي انهن تي منحصر آهن. انحصار انجڻ جي نموني ۾ ٽن قسمن جا طبقا شامل آهن:
  1. سروس ڪلاس جيڪو ڪلائنٽ ڪلاس کي خدمتون مهيا ڪري ٿو.
  2. ڪلائنٽ ڪلاس - ھڪڙو طبقو جيڪو خدمت جي طبقي تي منحصر آھي.
  3. Injector ڪلاس ھڪڙو ڪلاس آھي جيڪو ھڪڙي خدمت ڪلاس اعتراض کي ڪلائنٽ ڪلاس ۾ داخل ڪري ٿو.

انحصار انجکشن جا قسم

ٽي قسم جا انحصار انجيڪشن آهن:
  1. ڪنسٽرڪٽر انجيڪشن - جڏهن ڪنسٽرڪٽر انجيڪشن ٿئي ٿي، انجيڪٽر ڪلائنٽ ڪلاس جي تعمير ڪندڙ جي ذريعي خدمت (انحصار) فراهم ڪري ٿو.
  2. سيٽر انجيڪشن - هن قسم جي انجيڪشن ۾ (جنهن کي پراپرٽي انجيڪشن پڻ چيو ويندو آهي)، انجيڪٽر ڪلائنٽ ڪلاس جي عوامي ملڪيت ذريعي انحصار کي ظاهر ڪري ٿو.
  3. طريقو انجيڪشن - هن قسم جي انجڻ ۾، ڪلائنٽ ڪلاس هڪ انٽرفيس کي لاڳو ڪري ٿو جيڪو انحصار مهيا ڪرڻ جو طريقو بيان ڪري ٿو. انجیکٹر هن انٽرفيس کي استعمال ڪري ٿو ڪلائنٽ ڪلاس تي انحصار مهيا ڪرڻ لاءِ.

انحصار انجکشن جا فائدا

انحصار انجيڪشن کي لاڳو ڪرڻ اسان کي هيٺيان فائدا ڏئي ٿو:
  • ڪوڊ ٻيهر استعمال.
  • Refactoring جي آسانيء.
  • آزمائش جي آسانيء.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION