JavaRush /جاوا بلاگ /Random-UR /کافی وقفہ نمبر 241۔ سٹرنگز کو اریوں میں کیسے تبدیل کریں -...

کافی وقفہ نمبر 241۔ سٹرنگز کو اریوں میں کیسے تبدیل کریں - تفصیلی گائیڈ

گروپ میں شائع ہوا۔
ماخذ: FreeCodeCamp اس ٹیوٹوریل کے ساتھ، آپ سیکھیں گے کہ سٹرنگ کو ایک صف میں کیسے تبدیل کرنا ہے۔ ورڈ پروسیسنگ ایپلی کیشنز تیار کرنے یا ڈیٹا کے ساتھ کام کرتے وقت یہ مہارت کام آئے گی۔ کافی وقفہ نمبر 241۔  سٹرنگز کو اری میں کیسے تبدیل کریں - تفصیلی گائیڈ - 1جاوا میں سٹرنگ حروف کا ایک گروپ ہے، جبکہ ایک صف ایک ہی قسم کے عناصر کا مجموعہ ہے۔ آپ تبادلوں کے عمل کا استعمال کرتے ہوئے سٹرنگ کو ٹکڑوں میں تقسیم کر سکتے ہیں اور پھر ان ٹکڑوں کو مزید پروسیسنگ یا تجزیہ کے لیے ایک صف میں محفوظ کر سکتے ہیں۔ سٹرنگز کو صفوں میں تبدیل کرنے کے لیے جاوا کے مختلف طریقے ہیں۔ ان کو جاننے سے آپ کو وہ انتخاب کرنے کی اجازت ملے گی جو آپ کی پروگرامنگ کی ضروریات کے مطابق ہو۔

toCharArray() طریقہ استعمال کرکے سٹرنگ کو ایک صف میں کیسے تبدیل کیا جائے۔

toCharArray() طریقہ ایک بلٹ ان جاوا فنکشن ہے جو آپ کو ایک سٹرنگ کو حروف کی صف میں، اور سٹرنگ کے ہر کردار کو صف کے عنصر میں تبدیل کرنے کی اجازت دیتا ہے۔ یہ طریقہ String کلاس میں دستیاب ہے ۔

نحو اور 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. سٹرنگ str پر toCharArray() طریقہ استعمال کریں تاکہ اسے کریکٹر اری میں تبدیل کریں۔ یہ طریقہ ایک تار کو انفرادی حروف میں تقسیم کرتا ہے اور ان حروف پر مشتمل ایک صف لوٹاتا ہے۔
  3. نتیجے میں آنے والے کریکٹر ارے کو ایک charArray متغیر میں اسٹور کریں ۔
  4. ہر کردار کو انفرادی طور پر پرنٹ کرنے کے لیے for-each لوپ کا استعمال کرتے ہوئے charArray کے ذریعے اعادہ کریں ۔
نتیجہ:
H e l o l o , W o r l d !

toCharArray استعمال کرنے کے فوائد ():

  • سادگی: toCharArray() طریقہ صرف ایک طریقہ کال کے ساتھ سٹرنگ کو کریکٹر اری میں تبدیل کرنے کا ایک آسان طریقہ فراہم کرتا ہے۔
  • پڑھنے کی اہلیت: نتیجے میں آنے والے کردار کی صف میں آسانی سے ترمیم، ہیرا پھیری، یا لوپس کے ذریعے اعادہ کیا جا سکتا ہے۔
  • ناقابل تغیر سٹرنگز: چونکہ جاوا میں سٹرنگز ناقابل تغیر ہیں، اس لیے جب آپ کو انفرادی حروف کو تبدیل کرنے کی ضرورت ہو تو انہیں کریکٹر اری میں تبدیل کرنا مفید ہو سکتا ہے۔

toCharArray استعمال کرنے کے نقصانات:

  • میموری کے استعمال میں اضافہ: toCharArray() طریقہ ایک نئی کریکٹر اری بناتا ہے، جس کے لیے اضافی میموری کی ضرورت ہوتی ہے۔ اگر آپ بڑی تاروں کے ساتھ کام کر رہے ہیں تو یہ ایک مسئلہ ہو سکتا ہے۔
  • کارکردگی: ایک نیا کردار سرنی بنانے اور حروف کو کاپی کرنے کے نتیجے میں دیگر طریقوں کے مقابلے میں کارکردگی میں کچھ کمی واقع ہو سکتی ہے، خاص طور پر لمبی تاروں کے لیے۔

split() طریقہ استعمال کرکے سٹرنگ کو کیسے تقسیم کیا جائے۔

جاوا میں split() طریقہ کسی سٹرنگ کو دیے گئے ڈیلیمیٹر کی بنیاد پر ذیلی اسٹرنگ کی صف میں تقسیم کرنے کا ایک آسان طریقہ ہے۔ یہ طریقہ String کلاس میں دستیاب ہے ۔

اسپلٹ() طریقہ کا نحو اور استعمال:

String[] split(String delimiter)
طریقہ ایک دلیل کے طور پر ایک حد بندی لیتا ہے، جو ان نکات کی وضاحت کرتا ہے جن پر سٹرنگ کو تقسیم کیا جانا چاہیے۔ حد بندی ایک ریگولر ایکسپریشن یا سادہ سٹرنگ ہو سکتی ہے۔ split() کا استعمال کرتے ہوئے تبادلوں کا مظاہرہ کرنے والا مثالی کوڈ :
string = "Hello,World,How,Are,You?"
delimiter = ","

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

طریقہ کار کی وضاحت:

  1. ہم ایک سٹرنگ متغیر کی وضاحت کرتے ہیں جسے string کہتے ہیں ۔ اس میں وہ متن ہے جسے ہم الگ کرنا چاہتے ہیں: "ہیلو، ورلڈ، کیسے، کیا، آپ؟"
  2. ہم کوما ( , ) ڈیلیمیٹر کی وضاحت کرتے ہیں جو ہم سٹرنگ کو الگ کرنے کے لیے استعمال کرنا چاہتے ہیں اور اسے ڈیلیمیٹر متغیر کو تفویض کرتے ہیں ۔
  3. اس کے بعد ہم اسٹرنگ متغیر پر split() طریقہ استعمال کرتے ہیں، ڈیلیمیٹر کو بطور دلیل پاس کرتے ہیں ۔ یہ سٹرنگ کو ذیلی سٹرنگز میں تقسیم کرتا ہے جہاں بھی ڈیلیمیٹر پایا جاتا ہے ۔
  4. split() طریقہ ذیلی سٹرنگز کی فہرست لوٹاتا ہے، جسے ہم split_string متغیر کو تفویض کرتے ہیں ۔
  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 آبجیکٹ بنا کر شروع ہوتا ہے اور "," سے حد بندی کرتا ہے ۔
  2. ان پٹ سٹرنگ میں موجود ٹوکنز کی کل تعداد حاصل کرنے کے لیے کاؤنٹ ٹوکنز () طریقہ استعمال کیا جاتا ہے۔ یہ قیمت tokenCount متغیر میں محفوظ ہے ۔
  3. stringArray کہا جاتا ہے tokenCount کے برابر سائز کے ساتھ بنایا گیا ہے ۔
  4. NextToken() طریقہ لوپ میں ہر ٹوکن کے ذریعے اعادہ کرنے اور اسے stringArray میں متعلقہ انڈیکس تفویض کرنے کے لیے استعمال کیا جاتا ہے ۔
  5. آخر میں، a for loop stringArray فائل میں ہر عنصر کو پرنٹ کرنے کے لیے استعمال کیا جاتا ہے ۔
نتیجہ:
ہیلو ورلڈ آپ کیسے ہیں؟

StringTokenizer ایپلی کیشنز

StringTokenizer مختلف منظرناموں میں مفید ہو سکتا ہے، بشمول:
  • ایک مستقل حد بندی کے ساتھ تشکیل شدہ ان پٹ ڈیٹا کو پارس کریں۔
  • کسی جملے یا پیراگراف سے انفرادی الفاظ یا اجزاء نکالنا۔
  • کوما سے الگ کردہ اقدار کو انفرادی عناصر میں الگ کرنا۔
  • لغوی تجزیہ یا لینگویج پروسیسنگ کے کاموں کے لیے ٹیکسٹ ٹوکنائزیشن۔

StringTokenizer استعمال کرنے کے فوائد:

  • سادگی: StringTokenizer کا نحو سادہ اور سیدھا ہے، جو اسے ابتدائی افراد کے لیے قابل رسائی بناتا ہے۔
  • کارکردگی: StringTokenizer ریگولر ایکسپریشنز یا دستی کریکٹر پر مبنی تقسیم کے مقابلے میموری اور کارکردگی کے لحاظ سے موثر ہے۔
  • لچکدار حد بندی: آپ متعدد حد بندیوں کی وضاحت کر سکتے ہیں یا حد بندیوں کے پہلے سے طے شدہ سیٹ استعمال کر سکتے ہیں، جس سے عالمگیر ٹوکنائزیشن کی اجازت دی جا سکتی ہے۔
  • تکراری پروسیسنگ: StringTokenizer آپ کو ٹوکنز کو تکراری طور پر پروسیس کرنے کی اجازت دیتا ہے، یہ سب کچھ ایک ساتھ میموری میں لوڈ کیے بغیر بڑی تاروں کو پروسیس کرنے کے لیے مفید بناتا ہے۔

StringTokenizer استعمال کرنے کے نقصانات:

  • محدود فعالیت: StringTokenizer میں جدید متبادلات میں پائی جانے والی کچھ جدید خصوصیات کا فقدان ہے، جیسے کہ ریگولر ایکسپریشن، جو پیچیدہ نمونوں کو ٹوکنائز کرنے میں زیادہ لچک فراہم کرتے ہیں ۔
  • ریگولر ایکسپریشنز کے لیے کوئی سپورٹ نہیں: دوسرے طریقوں کے برعکس جیسے split() طریقہ ، StringTokenizer ریگولر ایکسپریشنز کو حد بندی کے طور پر استعمال نہیں کر سکتا، جو اس کی ٹوکنائزیشن کی صلاحیتوں کو محدود کرتا ہے۔
  • خالی ٹوکنز کے لیے کوئی سپورٹ نہیں: StringTokenizer خالی ٹوکنز کو بطور ڈیفالٹ ہینڈل نہیں کرتا ہے۔ اگر آپ کے پاس لگاتار حد بندی ہے، تو ان کو ایک ہی حد بندی کے طور پر سمجھا جاتا ہے، جو غیر متوقع نتائج کا باعث بن سکتا ہے۔
  • فرسودہ کلاس: StringTokenizer پرانے جاوا جمع کرنے کے فریم ورک کا حصہ ہے اور Iterable انٹرفیس کو لاگو نہیں کرتا ہے، جس کا مطلب ہے کہ اسے لوپس کے لیے توسیع میں استعمال نہیں کیا جا سکتا ۔

سٹرنگ کے ہر کریکٹر کو دستی طور پر ایک سرنی عنصر میں کیسے تبدیل کیا جائے۔

بعض حالات میں، آپ کو تبدیلی کے عمل پر مزید کنٹرول کی ضرورت ہو سکتی ہے یا آپ اسے اپنی مخصوص ضروریات کے مطابق بنانا چاہتے ہیں۔ ایسی صورتوں میں، آپ سٹرنگ میں ہر ایک کردار کو دستی طور پر اعادہ کرکے اور انہیں صف میں موجود انفرادی عناصر کو تفویض کر کے سٹرنگ کو ایک صف میں تبدیل کر سکتے ہیں۔ دستی تبدیلی کا مظاہرہ کرنے والا نمونہ کوڈ:
string = "Hello, World!"
array = []

for char in string:
    array.append(char)

print(array)

طریقہ کار کی وضاحت:

  1. ہم "ہیلو، ورلڈ!" قدر کے ساتھ ایک سٹرنگ متغیر سٹرنگ کی وضاحت کرتے ہیں۔ .
  2. ہم ایک خالی فہرست شروع کرتے ہیں جسے array کہتے ہیں ۔
  3. ہم سٹرنگ میں ہر چار پر اعادہ کرنے کے لیے لوپ کا استعمال کرتے ہیں ۔
  4. لوپ کے اندر، ہم ہر چار کو صف میں شامل کرنے کے لیے append() طریقہ استعمال کرتے ہیں ۔
  5. لوپ مکمل ہونے کے بعد، ہم نتیجہ دیکھنے کے لیے سرنی پرنٹ کرتے ہیں۔
نتیجہ:
['H', 'e', ​​'l', 'l', 'o', ',', '', 'W', 'o', 'r', 'l', 'd', '!']

دستی تبدیلی کے فوائد:

  • تبادلوں کے عمل پر مکمل کنٹرول فراہم کرتا ہے۔
  • حروف کو کسی صف میں تفویض کیے جانے سے پہلے اپنی مرضی کے مطابق یا ہیرا پھیری کرنے کی اجازت دیتا ہے۔
  • جب آپ کو تبادلوں کے دوران اضافی کارروائیاں کرنے کی ضرورت ہو تو اچھی طرح کام کرتا ہے۔

دستی تبدیلی کے نقصانات:

  • بلٹ ان طریقوں جیسے toCharArray() یا split() کے مقابلے میں زیادہ کوڈ اور دستی پروسیسنگ کی ضرورت ہوتی ہے ۔
  • دستی تکرار کے عمل کی وجہ سے بڑی تاروں کے لیے کم کارگر ہو سکتا ہے۔
  • اگر غلط طریقے سے لاگو کیا جائے تو غلطیوں کا خطرہ بڑھ جاتا ہے۔
نوٹ. اگر آپ کو تبادلوں کے عمل کے دوران خصوصی کارروائیاں کرنے کی ضرورت ہو تو آپ دستی تبادلوں کا طریقہ بہتر طور پر منتخب کریں گے۔ بصورت دیگر، بلٹ ان طریقوں جیسے toCharArray() یا split() کو سادگی اور کارکردگی کے لیے تجویز کیا جاتا ہے ۔

مختلف طریقوں کا موازنہ

toCharArray():

  • ایک سادہ اور واضح طریقہ۔
  • سٹرنگ کی نمائندگی کرنے والی کریکٹر اری لوٹاتا ہے۔
  • خصوصی تقاضوں کے بغیر عام تبادلوں کے لیے موزوں۔

تقسیم ():

  • مخصوص ڈیلیمیٹر کی بنیاد پر سٹرنگ کو ایک صف میں تقسیم کرتا ہے۔
  • مفید ہے اگر آپ کو کسی تار کو ذیلی اسٹرنگ میں تقسیم کرنے کی ضرورت ہو۔
  • الگ کرنے والے ٹیمپلیٹ کو منتخب کرنے میں لچک فراہم کرتا ہے۔

StringTokenizer:

  • خاص طور پر حد بندی پر مبنی سٹرنگ ٹوکنائزیشن کے لیے ڈیزائن کیا گیا ہے۔
  • آپ کو حد بندی کرنے والے حروف کو اپنی مرضی کے مطابق کرنے کی اجازت دیتا ہے۔
  • مناسب ہے جب آپ کو ٹوکنائزیشن کے عمل پر دانے دار کنٹرول کی ضرورت ہو۔

دستی تبدیلی:

  • تبادلوں کے عمل پر مکمل کنٹرول فراہم کرتا ہے۔
  • آپ کو علامتوں پر اضافی کارروائیاں ترتیب دینے اور انجام دینے کی اجازت دیتا ہے۔
  • اگر تبدیلی کے دوران خصوصی ضروریات کی ضرورت ہو تو تجویز کی جاتی ہے۔

آپ کو یہ جاننے کی ضرورت کیوں ہے کہ جاوا میں سٹرنگ کو ایک صف میں کیسے تبدیل کیا جائے؟

جاوا میں سٹرنگ ٹو اری کنورژن کی اہمیت اس استعداد اور لچک میں ہے جو یہ ڈیٹا پروسیسنگ کے لیے پیش کرتا ہے۔ یہاں کچھ اہم وجوہات ہیں کہ جاوا میں اسٹرنگ کو ایک صف میں تبدیل کرنے کی صلاحیت کیوں اہم ہے:
  • ڈیٹا ہیرا پھیری۔ Arrays جاوا میں ڈیٹا کو ذخیرہ کرنے اور جوڑ توڑ کرنے کا ایک منظم طریقہ فراہم کرتی ہے۔ سٹرنگ کو ایک صف میں تبدیل کر کے، آپ انفرادی حروف یا ذیلی اسٹرنگ تک رسائی حاصل کر سکتے ہیں، ڈیٹا میں ترمیم کر سکتے ہیں، اور مختلف کارروائیوں کو انجام دے سکتے ہیں جیسے کہ چھانٹنا، تلاش کرنا یا فلٹر کرنا۔
  • الگورتھمک آپریشنز۔ جاوا میں بہت سے الگورتھم اور ڈیٹا ڈھانچے کو صفوں کی شکل میں ان پٹ کی ضرورت ہوتی ہے۔ سٹرنگ کو ایک صف میں تبدیل کر کے، آپ آسانی سے ان الگورتھم کو لاگو کر سکتے ہیں اور مخصوص عناصر کو چھانٹنا، ریورس کرنا یا بازیافت کرنے جیسے کام انجام دے سکتے ہیں۔
  • متن کا تجزیہ اور تجزیہ۔ سٹرنگز میں اکثر سٹرکچرڈ یا حد بندی شدہ ڈیٹا ہوتا ہے، جیسے CSV (کوما سے الگ کردہ قدریں) یا JSON (JavaScript آبجیکٹ نوٹیشن)۔ سٹرنگ کو ایک صف میں تبدیل کرنا آپ کو ڈیٹا کو توڑنے اور تجزیہ کرنے کی اجازت دیتا ہے، اور مزید تجزیہ، پروسیسنگ، یا مخصوص معلومات کو نکالنے کی اجازت دیتا ہے۔
  • سٹرنگ ہیرا پھیری جب کہ تاروں کے پاس ہیرا پھیری کے طریقوں کا اپنا ایک سیٹ ہے، صفیں اضافی لچک پیش کرتی ہیں۔ سٹرنگ کو ایک صف میں تبدیل کرنے سے آپ کو صف کے مخصوص آپریشنز، جیسے انڈیکسنگ، سلائسنگ، یا کنکٹنیشن کو استعمال کرنے کی اجازت ملتی ہے تاکہ ڈیٹا کو زیادہ مؤثر طریقے سے منظم کیا جا سکے یا فارمیٹنگ کی مخصوص ضروریات کو پورا کیا جا سکے۔
  • مطابقت: کچھ منظرناموں میں، آپ کو لائبریریوں یا APIs کے ساتھ تعامل کرنے کے لیے سٹرنگ کو ایک صف میں تبدیل کرنے کی ضرورت پڑ سکتی ہے جو سرنی پر مبنی ان پٹ کی توقع کرتے ہیں۔ تبادلوں کو انجام دے کر، آپ آسانی سے اپنے سٹرنگ ڈیٹا کو بیرونی اجزاء کے ساتھ مربوط کر سکتے ہیں، مطابقت کو یقینی بنا کر اور بغیر کسی رکاوٹ کے ڈیٹا کے تبادلے کو فعال کر سکتے ہیں۔

نتیجہ

اس مضمون میں، ہم نے جاوا میں سٹرنگ کو ایک صف میں تبدیل کرنے کے مختلف طریقوں پر تبادلہ خیال کیا ہے۔ آپ نے چار مختلف طریقوں کے بارے میں سیکھا: toCharArray() طریقہ استعمال کرتے ہوئے، split() طریقہ استعمال کرتے ہوئے ایک سٹرنگ کو تقسیم کرنا ، StringTokenizer کا استعمال کرتے ہوئے ، اور ہر کردار کو دستی طور پر ایک صف کے عنصر میں تبدیل کرنا۔ ہم نے ہر طریقہ کا تفصیل سے احاطہ کیا ہے، بشمول ان کی ترکیب، استعمال، نمونہ کوڈ، فوائد اور نقصانات۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION