JavaRush /جاوا بلاگ /Random-SD /اسٽرنگ ڪلاس جو انڊيڪس آف طريقو: ڇو ان جي ضرورت آھي ۽ اھو ...

اسٽرنگ ڪلاس جو انڊيڪس آف طريقو: ڇو ان جي ضرورت آھي ۽ اھو ڪيئن ڪم ڪري ٿو

گروپ ۾ شايع ٿيل
سلام! پروگرامر اڪثر ڪري خودڪار طريقي سان استعمال ڪندا آهن، بغير سوچڻ جي ته اهي ڪيئن ڪم ڪن ٿا. اهي بنيادي ٽيڪنالاجيون آهن جيڪي توهان کي ڄاڻڻ گهرجن.

اوور لوڊ ڪرڻ جو طريقو ڇا آهي؟

ان کان اڳ جو اسان عنوان ۾ ذڪر ڪيل طريقي تي نظر رکون، اچو ته ياد رکون (۽ ڪنهن کي معلوم ٿيندو) ڪهڙو طريقو اوورلوڊنگ آهي. جاوا ميٿڊ اوور لوڊ ڪرڻ جي اجازت ڏئي ٿي ٻن يا وڌيڪ طريقن کي ساڳي نالي سان هڪ ئي ڪلاس ۾ بيان ڪيو وڃي. اهو صرف ممڪن آهي جيڪڏهن اهي مختلف ان پٽ پيٽرولر آهن. انهي حالت ۾، طريقن کي اوورلوڊ سڏيو ويندو آهي، ۽ عمل پاڻ کي طريقو اوورلوڊنگ سڏيو ويندو آهي. طريقو اوور لوڊ ڪرڻ جاوا ۾ پوليمورفيزم جياسٽرنگ ڪلاس جو IndexOf طريقو: ان جي ضرورت ڇو آھي ۽ اھو ڪيئن ڪم ڪري ٿو - 1 بنيادي اصولن مان هڪ آهي .

indexOfڪلاس جو طريقو ڇا آهي ؟String

تصور ڪريو ته توھان وٽ ھڪڙو ڊگھو تار آھي. مثال طور، هڪ خط، ۽ توهان کي اها جڳهه ڳولڻ جي ضرورت آهي جتي ايڊريس کي پهريون پتو هڪ نالي سان لڳندو آهي جيڪو توهان اڳ ۾ ئي ڄاڻو ٿا. اهو ڪيئن ڪندين؟ indexOf javaڪلاس جو طريقو استعمال ڪريو String. اهو طريقو طريقو اوور لوڊ ڪرڻ جو هڪ عام مثال آهي، جنهن تي اسان مٿي ذڪر ڪيو آهي.

طريقن جا اختيارindexOf

هن طريقي java string indexOf۾ چار مختلف تبديليون آهن:

نمبر 1.indexOf(int ch)

طريقه int indexOf(int ch)انڊيڪس واپس ڏئي ٿو ڏنل اسٽرنگ ۾ بيان ڪيل ڪردار جي پهرين واقعن جي. ٻين لفظن ۾، اسان هڪ ڏنل ڪردار جي پهرين واقعن جو تعداد حاصل ڪنداسين، کاٻي کان ساڄي تائين ڳڻڻ. مثال:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('e');
   System.out.println(value);
}
ڪنسول آئوٽ:

2
جيڪڏھن اھو ڪردار جيڪو اسان ڳولي رھيا آھيون ھن لائن ۾ نه آھي، اسان کي -1 ملندو.
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('j');
   System.out.println(value);
}
ڪنسول آئوٽ:

-1
PS ڪنهن به شيءِ کي پريشان نه ڪرڻ لاءِ، توهان کي اهو نه وسارڻ گهرجي ته هڪ لڪير ۾ ڪردارن کي ”1,2,3...“ مان نه پر ”0,1,2...“ مان شمار ڪيو ويندو آهي.

نمبر 2.indexOf(int ch, int fromIndex)

طريقه int indexOf(int ch, int fromIndex)انڊيڪس واپس ڪري ٿو هن اسٽرنگ ۾ مخصوص ڪردار جي پهرين واقعن جي، مخصوص انڊيڪس تي ڳولا شروع ڪندي. اهو طريقو پوئين هڪ کان وڌيڪ جديد نسخو آهي. فرق اهو آهي ته اسان ان عنصر جو تعداد ظاهر ڪندا آهيون جتان ڳولا اصل ۾ شروع ٿيندي. مثال:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('e',5);
   System.out.println(value);
}
ڪنسول آئوٽ:

9
جيڪڏهن انڊيڪس جنهن مان ڳولا ڪئي ويندي تار جي ڊيگهه کان وڌيڪ آهي، پوء جواب ٿيندو -1. اسٽرنگ ڪلاس جو انڊيڪس آف طريقو: ان جي ضرورت ڇو آهي ۽ اهو ڪيئن ڪم ڪري ٿو - 2جيئن توهان ڏٺو هوندو، انهن ٻن طريقن جي دستخط ۾ (ڪهڙا طريقا استعمال ڪن ٿا دليلن جي طور تي)، پاس ٿيڻ واري علامت لاءِ قسم بيان ڪيو ويو آهي int، نه char. بهرحال، اسان منتقل ڪيو char. اهو ئي سبب آهي جو اسٽرنگ هڪ بائيٽ صف جي طور تي ذخيرو ٿيل آهن، جتي سيلز قسم جي مخصوص ڪردار سان ملن ٿا char. بائيٽ جي وچ ۾ خط و ڪتابت charASCII ٽيبل جي مطابق ڪئي وئي آهي. ASCII (آمريڪي معياري ڪوڊ فار انفارميشن مٽاسٽا) هڪ جدول آهي جيڪو نقشي ۾ عام پرنٽ لائق ۽ غير پرنٽ لائق اکرن کي عددي ڪوڊن ۾ ترتيب ڏئي ٿو. تنهن ڪري، جڏهن هڪ خاص ڪردار گذري ويو آهي char، اهو خودڪار طور تي هڪ نمبر ۾ تبديل ٿي ويندو آهي جيڪو ASCII ٽيبل ۾ ان ڪردار جي نمائندگي ڪري ٿو. ان جي بنياد تي، اسان سڌو سنئون نمبر ( int) کي طريقي سان منتقل ڪري سگھون ٿا، جيڪو اسان کي گهربل ڪردار سان ملندو. مثال طور، ASCII جدول ۾ ڪردار 'اي' نمبر 101 سان ملندڙ جلندڙ آهي، تنهنڪري اسان اڳئين مثال کي ورجائي سگهون ٿا، پر بغير char:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf(101,5);
   System.out.println(value);
}
اسان جي ڪنسول جي پيداوار تبديل نه ڪئي وئي آهي:

9
PS ڪجهه حالتن ۾، اهي طريقا مٽائي سگهجن ٿا، مثال طور str.indexOf('e');اهو ساڳيو هوندو - str.indexOf('e', 0);.

نمبر 3.indexOf(String str)

طريقه int indexOf(String str)انڊيڪس ڏي ٿو ڏنل قطار ۾ ڏنل ذيلي اسٽرنگ جي پهرين واقعن جي. اهو بنيادي طور تي پهرين اختيار کان مختلف آهي جنهن ۾ هي طريقو اڳ ۾ ئي هڪ مڪمل سبسٽنگ ( String) جي ڳولا ڪري ٿو. انهي جي مهرباني، اسان ڪجهه وڌيڪ مخصوص ڳولي سگهون ٿا. مثال:
public static void main(String[] args) {
   String str = "Diego, where is my money? Diego,you made me very upset";
   int value = str.indexOf("Diego");
   System.out.println(value);
}
ڪنسول آئوٽ:

0
PS سڀ تغيرات indexOfڪيس حساس آهن: وڏيون اکر (ڪيپيٽل اکر) ۽ ننڍا اکر (ننڍا اکر) مختلف سمجهيا وڃن ٿا. خيال رکجو.

نمبر 4.indexOf(String str, int fromIndex)

طريقه indexOf(String str, int fromIndex)انڊيڪس واپس ڪري ٿو هن قطار ۾ مخصوص ذيلي اسٽرينگ جي پهرين واقعن جي، مخصوص انڊيڪس تي شروع ٿي. هي اختيار ٻيهر هڪ وڌيڪ جديد اڳوڻو اختيار آهي، پر انهي جڳهه جي اشاري سان جنهن مان ڳولا ڪئي ويندي. مثال:
public static void main(String[] args) {
   String str = "Diego, where is my money? Diego,you made me very upset";
   int value = str.indexOf("Diego", 1);
   System.out.println(value);
}
ڪنسول آئوٽ:

26
PS جيڪڏهن توهان هڪ منفي شروعاتي انڊيڪس بيان ڪريو ٿا، طريقو indexOfان کي 0 طور سمجهندو. هن صورت ۾، طريقو ٻيهر ساڳيو هوندو جيئن اڳئين هڪ (جنهن ۾ شروعاتي انڊيڪس بيان نه ڪيو ويو آهي). اهو سڀ ڪجهه اڄ لاءِ آهي. هاڻي توهان وٽ وڌيڪ ڄاڻ آهي جاوا جي مهرباني indexOf!
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION