JavaRush /جاوا بلاگ /Random-SD /ڪافي بريڪ #241. اسٽرنگ کي ڪيئن Arrays ۾ تبديل ڪجي - تفصيل...

ڪافي بريڪ #241. اسٽرنگ کي ڪيئن Arrays ۾ تبديل ڪجي - تفصيلي گائيڊ

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

toCharArray() طريقو استعمال ڪندي اسٽرنگ کي صف ۾ ڪيئن بدلجي

toCharArray() طريقو ھڪڙو بلٽ ان جاوا فنڪشن آھي جيڪو توھان کي اجازت ڏئي ٿو ھڪڙي اسٽرنگ کي اکرن جي ايري ۾، ۽ ھر اسٽرنگ جي ڪردار کي صف جي عنصر ۾. اهو طريقو اسٽرنگ ڪلاس ۾ موجود آهي .

نحو ۽ toCharArray() طريقو جو استعمال:

public class StringToArrayExample {
    public static void main(String[] args) {
        String str = "Hello, World!";

        // Преобразовать строку в массив символов
        char[] charArray = str.toCharArray();

        // Распечатать элементы массива
        for (char c : charArray) {
            System.out.println(c);
        }
    }
}

عمل جي وضاحت:

  1. هڪ اسٽرنگ متغير str جو اعلان ڪريو ۽ ان کي گهربل اسٽرنگ تفويض ڪريو.
  2. استعمال ڪريو toCharArray() طريقو string تي ان کي تبديل ڪرڻ لاءِ ان کي ڪردار جي صف ۾. اهو طريقو هڪ تار کي انفرادي اکرن ۾ ورهائي ٿو ۽ انهن اکرن تي مشتمل هڪ صف واپس ڪري ٿو.
  3. هڪ charArray متغير ۾ نتيجو ڪندڙ ڪردار صفن کي ذخيرو ڪريو .
  4. هر ڪردار کي انفرادي طور پرنٽ ڪرڻ لاءِ هر لاءِ لوپ استعمال ڪندي charArray ذريعي ٻيهر ڪريو .
نتيجو:
هِي لِلُو، وَلِڊِ!

استعمال ڪرڻ جا فائدا toCharArray():

  • سادگي: toCharArray() طريقو صرف هڪ طريقو ڪال سان هڪ اسٽرنگ کي ڪردار جي صف ۾ تبديل ڪرڻ جو هڪ آسان طريقو مهيا ڪري ٿو.
  • پڙهڻ جي قابليت: نتيجو ڪندڙ ڪردار صف کي آساني سان تبديل ڪري سگهجي ٿو، ٺاهيل، يا لوپس ذريعي ٻيهر.
  • Immutable Strings: جيئن ته strings جاوا ۾ ناقابل تبديل آھن، انھن کي ھڪڙي ڪردار جي صف ۾ تبديل ڪرڻ مفيد ٿي سگھي ٿو جڏھن توھان کي انفرادي اکرن کي تبديل ڪرڻ جي ضرورت آھي.

استعمال ڪرڻ جا نقصان toCharArray():

  • وڌايل ميموري استعمال: toCharArray() طريقو هڪ نئون ڪردار صف ٺاهي ٿو، جنهن کي اضافي ياداشت جي ضرورت آهي. اهو مسئلو ٿي سگهي ٿو جيڪڏهن توهان وڏي تارن سان ڪم ڪري رهيا آهيو.
  • ڪارڪردگي: نئين ڪردار جي صف ٺاهڻ ۽ اکرن کي نقل ڪرڻ جي نتيجي ۾ ٿي سگھي ٿي ڪارڪردگي جي خرابي ٻين طريقن جي مقابلي ۾، خاص طور تي ڊگھي تارن لاءِ.

split() طريقو استعمال ڪندي اسٽرنگ کي ڪيئن ورهايو وڃي

جاوا ۾ split() طريقو هڪ آسان طريقو آهي هڪ اسٽرنگ کي ورهائڻ لاءِ هڪ ڏنل ڊيليميٽر جي بنياد تي ذيلي اسٽرنگ جي صف ۾. اهو طريقو اسٽرنگ ڪلاس ۾ موجود آهي .

نحو ۽ تقسيم () طريقي جو استعمال:

String[] split(String delimiter)
اهو طريقو هڪ دليل جي طور تي هڪ ڊيليميٽر وٺندو آهي، جيڪو بيان ڪري ٿو انهن پوائنٽن تي جنهن تي اسٽرنگ کي ورهايو وڃي. ڊيليميٽر هڪ باقاعده اظهار يا هڪ سادي تار ٿي سگهي ٿو. مثال طور ڪوڊ استعمال ڪندي تبادلي جو مظاهرو ڪندي split() :
string = "Hello,World,How,Are,You?"
delimiter = ","

split_string = string.split(delimiter)
print(split_string)

عمل جي وضاحت:

  1. اسان هڪ string variable جي وضاحت ڪريون ٿا string . اهو متن تي مشتمل آهي جنهن کي اسين الڳ ڪرڻ چاهيون ٿا: "هيلو، دنيا، ڪيئن، ڇا، توهان؟"
  2. اسان ڪاما ( , ) delimiter جي وضاحت ڪريون ٿا جيڪو اسان اسٽرنگ کي الڳ ڪرڻ لاءِ استعمال ڪرڻ چاهيون ٿا ۽ ان کي delimiter variable ۾ تفويض ڪريون ٿا .
  3. اسان پوءِ استعمال ڪريون ٿا split() طريقو string variable تي، delimiter پاس ڪندي دليل طور . هي اسٽرنگ کي ذيلي اسٽرنگ ۾ ورهائي ٿو جتي به ڊيليميٽر ملي ٿو .
  4. split() طريقو ذيلي اسٽرنگ جي ھڪڙي فهرست ڏئي ٿو، جنھن کي اسين تفويض ڪندا آھيون split_string variable .
  5. آخرڪار، اسان نتيجو ڏسڻ لاء split_string لسٽ کي پرنٽ ڪيو.
نتيجو:
['هيلو'، 'دنيا'، 'ڪيئن'، 'آهن'، 'توهان؟']

تقسيم استعمال ڪرڻ جا فائدا():

  • آسان ۽ استعمال ڪرڻ آسان.
  • توھان کي اجازت ڏئي ٿو ھڪڙي اسٽرنگ کي ورهائڻ جي ھڪڙي مخصوص ڊيليميٽر جي بنياد تي.
  • حد بندي ڪندڙن جي طور تي باقاعده اظهار کي سپورٽ ڪري ٿو، لچڪدار ڊيليميٽر اختيارن کي مهيا ڪري ٿو.

تقسيم استعمال ڪرڻ جا نقصان ():

  • جيڪڏهن ڊليميٽر اسٽرنگ ۾ نه مليو آهي، ته پوءِ اصل اسٽرنگ کي نتيجي واري صف جي هڪ عنصر طور واپس ڪيو ويندو.
  • باقاعده اظهار سان ڪم ڪرڻ مشڪل ٿي سگھي ٿو، ۽ غلط استعمال ڪري سگھي ٿو غير متوقع نتيجا.
  • ھڪڙي پيچيده باقاعده اظهار کي استعمال ڪندي ھڪڙي وڏي تار کي ورهائڻ حسابي طور تي قيمتي ٿي سگھي ٿو.

StringTokenizer استعمال ڪندي اسٽرنگ کي صف ۾ ڪيئن بدلجي

جاوا ۾ StringTokenizer ڪلاس ھڪڙو ورثي وارو طبقو آھي جيڪو ھڪڙو آسان رستو ڏئي ٿو ٽوڪنائيز ڪرڻ يا ورهائڻ لاءِ انفرادي ٽوڪن ۾. اهو عام طور تي استعمال ڪيو ويندو آهي هڪ اسٽرنگ کي هڪ صف ۾ تبديل ڪرڻ لاءِ ان کي ورهائي هڪ مخصوص ڊيليميٽر جي بنياد تي.

StringTokenizer جو نحو ۽ استعمال:

StringTokenizer استعمال ڪرڻ لاءِ ، توھان کي پھريائين ھڪڙو مثال بڻائڻو پوندو StringTokenizer ڪلاس جو ، ھڪ اسٽرنگ ۽ ھڪ ڊيليميٽر کي پيٽرول جي طور تي پاس ڪرڻ:
StringTokenizer tokenizer = new StringTokenizer(inputString, delimiter);
مثال ڪوڊ:
import java.util.StringTokenizer;

public class StringToArrayExample {
    public static void main(String[] args) {
        String inputString = "Hello,World,How,Are,You?";

        // Creation an object StringTokenizer с разделителем ","
        StringTokenizer tokenizer = new StringTokenizer(inputString, ",");

        int tokenCount = tokenizer.countTokens();
        String[] stringArray = new String[tokenCount];

        // Преобразование каждого токена в элементы массива
        for (int i = 0; i < tokenCount; i++) {
            stringArray[i] = tokenizer.nextToken();
        }

        // Печать выходного массива
        for (String element : stringArray) {
            System.out.println(element);
        }
    }
}

عمل جي وضاحت:

  1. ڪوڊ شروع ٿئي ٿو هڪ StringTokenizer شئي ٺاهي جنهن کي tokenizer نالي ان پٽ اسٽرنگ مان ۽ "," ذريعي حد بندي ڪيو ويو آهي .
  2. ان پٽ اسٽرنگ ۾ موجود ٽوڪن جو ڪل تعداد حاصل ڪرڻ لاءِ CountTokens() طريقو استعمال ڪيو ويندو آهي. هي قدر tokenCount variable ۾ محفوظ ٿيل آهي .
  3. سڏيو ويندو آهي stringArray هڪ سائيز سان ٺهيل آهي tokenCount جي برابر .
  4. NextToken() طريقو لوپ ۾ استعمال ڪيو ويندو آهي هر ٽوڪن ذريعي ٻيهر ڪرڻ لاءِ ۽ ان کي ترتيب ڏنل انڊيڪس stringArray ۾ .
  5. آخرڪار، هڪ لوپ لاء استعمال ڪيو ويندو آهي هر عنصر کي پرنٽ ڪرڻ لاء stringArray فائل ۾ .
نتيجو:
هيلو ورلڊ توهان ڪيئن آهيو؟

StringTokenizer ايپليڪيشنون

StringTokenizer مختلف منظرنامي ۾ ڪارائتو ٿي سگهي ٿو، جنهن ۾ شامل آهن:
  • ان پٽ ڊيٽا کي ترتيب سان پارس ڪريو مسلسل ڊيليميٽر سان.
  • هڪ جملي يا پيراگراف مان انفرادي لفظن يا اجزاء کي ڪڍڻ.
  • ڪاما کان الڳ ٿيل قدرن کي انفرادي عناصر ۾ الڳ ڪرڻ.
  • لغت جي تجزيي يا ٻولي پروسيسنگ جي ڪمن لاءِ ٽيڪسٽ ٽوڪنائيزيشن.

StringTokenizer استعمال ڪرڻ جا فائدا:

  • سادگي: StringTokenizer جو نحو سادو ۽ سڌو آهي، ان کي نئين سکندڙن لاءِ رسائي لائق بڻائي ٿو.
  • ڪارڪردگي: StringTokenizer ميموري ۽ ڪارڪردگي جي لحاظ کان موثر آهي باقاعده اظهار يا دستي ڪردار جي بنياد تي تقسيم جي مقابلي ۾.
  • لچڪدار حد بنديون: توهان ڪيترن ئي حد بندين جي وضاحت ڪري سگھو ٿا يا حد بندين جو اڳواٽ بيان ڪيل سيٽ استعمال ڪري سگھو ٿا، عالمي ٽوڪنائيزيشن جي اجازت ڏئي ٿي.
  • Iterative Processing: StringTokenizer توهان کي ٽوڪن کي بار بار پروسيس ڪرڻ جي اجازت ڏئي ٿو، ان کي وڏي تارن جي پروسيسنگ لاءِ ڪارائتو بڻائي ٿو بغير ميموري ۾ هر شي کي هڪ ڀيرو لوڊ ڪرڻ جي.

StringTokenizer استعمال ڪرڻ جا نقصان:

  • محدود ڪارڪردگي: StringTokenizer جديد متبادلن ۾ مليل ڪجھ جديد خصوصيتن جو فقدان آهي، جهڙوڪ باقاعده اظهار، جيڪي پيچيده نمونن کي ٽوڪن ڪرڻ ۾ وڌيڪ لچڪ فراهم ڪن ٿا .
  • ريگيولر ايڪسپريشنز لاءِ ڪو به سپورٽ ناهي: ٻين طريقن جي برعڪس جيئن split() طريقو ، StringTokenizer باقاعده ايڪسپريشن کي ڊيليميٽر طور استعمال نٿو ڪري سگھي، جيڪو ان جي ٽوڪنائيزيشن جي صلاحيتن کي محدود ڪري ٿو.
  • خالي ٽوڪن لاءِ ڪا به سپورٽ نه آهي: StringTokenizer ڊفالٽ طور خالي ٽوڪن کي سنڀالي نه ٿو. جيڪڏهن توهان وٽ لڳاتار حد بنديون آهن، انهن کي هڪ واحد ڊيليميٽر سمجهيو وڃي ٿو، جيڪي اڻڄاتل نتيجا آڻي سگهن ٿا.
  • ختم ٿيل طبقو: StringTokenizer ورثي جاوا گڏ ڪرڻ واري فريم ورڪ جو حصو آهي ۽ اهو لاڳو نٿو ڪري Iterable انٽرفيس، جنهن جو مطلب آهي ته اهو لوپس لاءِ وڌايل ۾ استعمال نٿو ڪري سگهجي .

ڪيئن دستي طور هڪ سٽرنگ جي هر ڪردار کي هڪ صف عنصر ۾ تبديل ڪرڻ

ڪجهه حالتن ۾، توهان کي تبادلي جي عمل تي وڌيڪ ڪنٽرول جي ضرورت هجي يا توهان جي مخصوص گهرجن کي پورو ڪرڻ لاء ان کي ترتيب ڏيڻ چاهيندا. اهڙين حالتن ۾، توهان اسٽرنگ کي ترتيب ۾ تبديل ڪري سگهو ٿا دستي طور تي هر هڪ ڪردار کي ترتيب ڏيڻ ۽ انهن کي صف ۾ انفرادي عناصر کي تفويض ڪندي. نموني ڪوڊ دستي تبديلي جو مظاهرو ڪندي:
string = "Hello, World!"
array = []

for char in string:
    array.append(char)

print(array)

عمل جي وضاحت:

  1. اسان هڪ اسٽرنگ متغير واري اسٽرنگ کي قدر سان بيان ڪريون ٿا "هيلو، ورلڊ!" .
  2. اسان هڪ خالي لسٽ شروع ڪريون ٿا جنهن کي صف سڏيو ويندو آهي .
  3. اسان اسٽرنگ ۾ هر چار تي ٻيهر ڪرڻ لاءِ لوپ لاءِ استعمال ڪندا آهيون .
  4. لوپ جي اندر، اسان استعمال ڪندا آهيون append() طريقو هر چار کي صف ۾ شامل ڪرڻ لاءِ .
  5. لوپ مڪمل ٿيڻ کان پوء، اسان نتيجو ڏسڻ لاء صف کي پرنٽ ڪندا آهيون.
نتيجو:
[’ه‘، ’اي‘، ’ل‘، ’ل‘، ’او‘، ’،‘، ’و‘، ’او‘، ’ر‘، ’ل‘، ’د‘، '!']

دستي تبديلي جا فائدا:

  • تبادلي جي عمل تي مڪمل ڪنٽرول مهيا ڪري ٿي.
  • اکرن کي ترتيب ڏيڻ جي اجازت ڏئي ٿو يا ترتيب ڏيڻ کان اڳ انھن کي ھڪڙي صف ۾ لڳايو وڃي.
  • سٺو ڪم ڪري ٿو جڏهن توهان کي تبديل ڪرڻ دوران اضافي عملن کي انجام ڏيڻ جي ضرورت آهي.

دستي تبديلي جا نقصان:

  • وڌيڪ ڪوڊ ۽ مينوئل پروسيسنگ جي ضرورت آھي بلٽ ان طريقن جي مقابلي ۾ جيئن toCharArray() or split() .
  • وڏي تارن لاءِ گھٽ ڪارائتو ٿي سگھي ٿو دستي واري عمل جي ڪري.
  • غلطين جو خطرو وڌائي ٿو جيڪڏهن غلط طور تي لاڳو ڪيو وڃي.
نوٽ. جيڪڏهن توهان کي تبادلي جي عمل دوران خاص آپريشن ڪرڻ جي ضرورت آهي ته توهان کي دستي تبادلي جو طريقو چونڊيو. ٻي صورت ۾، ٺهيل طريقن جهڙوڪ toCharArray() يا split() سادگي ۽ ڪارڪردگي لاءِ سفارش ڪئي وئي آهي .

مختلف طريقن جو مقابلو

کي چارارري():

  • هڪ سادي ۽ صاف طريقو.
  • هڪ اسٽرنگ جي نمائندگي ڪندڙ ڪردار جي صف ڏي ٿو.
  • خاص ضرورتن کان سواءِ عام تبديلين لاءِ مناسب.

تقسيم():

  • مخصوص ڊيليميٽر جي بنياد تي هڪ اسٽرنگ کي صف ۾ ورهائي ٿو.
  • مفيد جيڪڏھن توھان کي اسٽرنگ کي ذيلي اسٽرنگ ۾ ورهائڻ جي ضرورت آھي.
  • هڪ جدا ڪندڙ ٽيمپليٽ چونڊڻ ۾ لچڪ فراهم ڪري ٿي.

StringTokenizer:

  • خاص طور تي ڊيليميٽر تي ٻڌل اسٽرنگ ٽوڪنائيزيشن لاءِ ٺهيل آهي.
  • توھان کي اجازت ڏئي ٿو حد بندي ڪندڙ اکرن کي ترتيب ڏيو.
  • مناسب جڏهن توهان کي ٽوڪنائيزيشن جي عمل تي گرينولر ڪنٽرول جي ضرورت آهي.

دستي تبديلي:

  • تبادلي جي عمل تي مڪمل ڪنٽرول مهيا ڪري ٿي.
  • توهان کي ترتيب ڏيڻ جي اجازت ڏئي ٿي ۽ علامتن تي اضافي عملن کي انجام ڏيو.
  • سفارش ڪئي وئي آهي جيڪڏهن تبديلي جي دوران خاص ضرورتن جي ضرورت آهي.

توهان کي ڄاڻڻ جي ضرورت آهي ڇو ته جاوا ۾ هڪ اسٽرنگ کي صف ۾ ڪيئن بدلجي؟

جاوا ۾ اسٽرنگ کي ترتيب ڏيڻ لاءِ تبادلي جي اهميت ان استحڪام ۽ لچڪ ۾ آهي جيڪا اها ڊيٽا پروسيسنگ لاءِ پيش ڪري ٿي. هتي ڪجهه اهم سبب آهن ڇو ته جاوا ۾ هڪ اسٽرنگ کي صف ۾ تبديل ڪرڻ جي صلاحيت اهم آهي:
  • ڊيٽا جي ڦيرڦار. Arrays جاوا ۾ ڊيٽا کي ذخيرو ۽ ترتيب ڏيڻ لاء هڪ منظم طريقو مهيا ڪن ٿا. هڪ اسٽرنگ کي صف ۾ تبديل ڪرڻ سان، توهان انفرادي اکرن يا ذيلي اسٽرنگ تائين رسائي ڪري سگهو ٿا، ڊيٽا کي تبديل ڪري سگهو ٿا، ۽ مختلف عملن کي انجام ڏئي سگهو ٿا جهڙوڪ ترتيب ڏيڻ، ڳولڻ، يا فلٽر ڪرڻ.
  • Algorithmic آپريشن. جاوا ۾ ڪيترائي الگورتھم ۽ ڊيٽا جي جوڙجڪ کي صفن جي صورت ۾ ان پٽ جي ضرورت آھي. هڪ اسٽرنگ کي صف ۾ تبديل ڪرڻ سان، توهان آساني سان انهن الگورتھم کي لاڳو ڪري سگهو ٿا ۽ آپريشن ڪري سگهو ٿا جهڙوڪ ترتيب ڏيڻ، ريورس ڪرڻ، يا مخصوص عناصر کي ٻيهر حاصل ڪرڻ.
  • متن جو تجزيو ۽ تجزيو. اسٽرنگ اڪثر ڪري منظم ٿيل يا حد بندي ٿيل ڊيٽا تي مشتمل آهي، جهڙوڪ CSV (ڪاما ڌار ڪيل قدر) يا JSON (JavaScript Object Notation). هڪ اسٽرنگ کي صف ۾ تبديل ڪرڻ توهان کي ڊيٽا کي ٽوڙڻ ۽ تجزيو ڪرڻ جي اجازت ڏئي ٿي، وڌيڪ تجزيي، پروسيسنگ، يا مخصوص معلومات کي ڪڍڻ جي اجازت ڏئي ٿي.
  • تار جي ڦيرڦار. جڏهن ته اسٽرنگز کي پنهنجو پاڻ ۾ ٺهڪندڙ طريقن جو سيٽ آهي، صفون اضافي لچڪدار پيش ڪن ٿيون. هڪ اسٽرنگ کي صف ۾ تبديل ڪرڻ توهان کي اجازت ڏئي ٿو صفن جي مخصوص آپريشنز کي استعمال ڪرڻ، جهڙوڪ انڊيڪسنگ، سلائينگ، يا ڪنٽينشن، ڊيٽا کي وڌيڪ موثر طريقي سان منظم ڪرڻ يا فارميٽنگ جي مخصوص ضرورتن کي پورو ڪرڻ لاءِ.
  • مطابقت: ڪجهه حالتن ۾، توهان کي شايد ضرورت هجي هڪ اسٽرنگ کي هڪ صف ۾ تبديل ڪرڻ لاءِ لائبريرين يا APIs سان رابطو ڪرڻ لاءِ جيڪي سرن تي ٻڌل ان پٽ جي توقع ڪن ٿا. تبادلي کي انجام ڏيڻ سان، توهان آساني سان پنهنجي اسٽرنگ ڊيٽا کي خارجي اجزاء سان ضم ڪري سگهو ٿا، مطابقت کي يقيني بڻائي ۽ بيحد ڊيٽا مٽائڻ کي چالو ڪري سگهو ٿا.

نتيجو

هن آرٽيڪل ۾، اسان مختلف طريقن تي بحث ڪيو آهي هڪ اسٽرنگ کي جاوا ۾ هڪ صف ۾ تبديل ڪرڻ لاء. توھان چار مختلف طريقن جي باري ۾ سکيو آھي: toCharArray() طريقو استعمال ڪندي ، اسٽرنگ کي ورهائڻ split() طريقو استعمال ڪندي ، StringTokenizer استعمال ڪندي ، ۽ دستي طور تي ھر ڪردار کي ھڪ صف جي عنصر ۾ تبديل ڪرڻ. اسان هر طريقي کي تفصيل سان ڍڪي ڇڏيو آهي، بشمول انهن جي نحو، استعمال، نموني ڪوڊ، نفعو ۽ نقصان.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION