مثالوں کے ساتھ جاوا میں موازنہ انٹرفیس کیا ہے؟

Mthalw K Sat Jawa My Mwazn An Rfys Kya



جاوا میں، Comparator انٹرفیس کا استعمال موازنہ فنکشن کی وضاحت کے لیے کیا جاتا ہے جسے اشیاء کے مجموعے کو ترتیب دینے کے لیے استعمال کیا جا سکتا ہے۔ یہ قدرتی ترتیب کی بنیاد پر پہلے سے طے شدہ موازنہ کے بجائے اپنی مرضی کے معیار کی بنیاد پر اشیاء کو چھانٹنے کی اجازت دیتا ہے۔ اس میں ضروریات کے مطابق افعال کو اپنی مرضی کے مطابق کرنے کے لیے مختلف ایپلی کیشنز ہیں۔ یہ مضمون جاوا میں متعدد مثالوں کے ساتھ کمپیریٹر انٹرفیس کی وضاحت کرے گا۔

مثالوں کے ساتھ جاوا میں موازنہ انٹرفیس کیا ہے؟

Comparator انٹرفیس compare() اور equals() طریقوں پر مشتمل ہے۔ پہلا طریقہ انٹیجر ویلیو واپس کرکے دو اشیاء کی گنتی کے لیے استعمال کیا جاتا ہے۔ دوسرا طریقہ مساوات کے لیے دو تقابلی اشیاء کو کمپیوٹنگ کے لیے استعمال کیا جاتا ہے۔

جاوا میں Comparator انٹرفیس کو استعمال کرنے کے طریقے کی مختلف مثالیں یہ ہیں:







مثال 1: لمبائی کی بنیاد پر فہرست ترتیب دیں۔

اس مثال میں، تاروں کی فہرست پر غور کیا جاتا ہے اور حروف تہجی کی ترتیب کے بجائے ان کی لمبائی کی بنیاد پر ترتیب دیا جاتا ہے:



درآمد java.util.ArrayList ;

درآمد java.util.مجموعے ;

درآمد java.util.Comparator ;

درآمد java.util.List ;

عوام کلاس مرکزی {

عوام جامد باطل مرکزی ( تار [ ] args ) {

فہرست < تار > فہرست = نئی ArrayList <> ( ) ;

فہرست شامل کریں ( 'جان' ) ;

فہرست شامل کریں ( 'باب' ) ;

فہرست شامل کریں ( 'ایلس' ) ;

مجموعے . ترتیب دیں ( فہرست ) ;

سسٹم . باہر . پرنٹ ایل این ( فہرست ) ;

مجموعے . ترتیب دیں ( فہرست نئی StringLength Comparator ( ) ) ;

سسٹم . باہر . پرنٹ ایل این ( فہرست ) ;

}

} // ایک کلاس کی وضاحت کی گئی ہے۔

کلاس StringLength Comparator آلات موازنہ کرنے والا < تار > {

عوام int موازنہ ( تار s1، تار s2 ) {

واپسی عدد . موازنہ ( s1. لمبائی ( ) ، s2۔ لمبائی ( ) ) ;

}

}

مندرجہ بالا کوڈ کی تفصیل ذیل میں دی گئی ہے:



  • سب سے پہلے، StringLengthComparator نامی ایک حسب ضرورت کمپیریٹر کلاس بنائیں جو Comparator انٹرفیس کو نافذ کرے۔
  • یہ دو تاروں کی لمبائی کا موازنہ کرنے کے لیے compare() طریقہ کو اوور رائیڈ کرتا ہے۔
  • آخر میں، ہمارے کسٹم کمپیریٹر کا استعمال کرتے ہوئے فہرست کو ترتیب دینے کے لیے the.sort() طریقہ کو ایک مثال دیں۔

آؤٹ پٹ





پہلا آؤٹ پٹ قدرتی ترتیب کا استعمال کرتے ہوئے فہرست کو ترتیب دینے کا نتیجہ ہے، جب کہ دوسرا آؤٹ پٹ ہر اسٹرنگ کی لمبائی کی بنیاد پر ہمارے حسب ضرورت موازنہ کا استعمال کرتے ہوئے فہرست کو ترتیب دینے کا نتیجہ ہے۔



مثال 2: ایک مخصوص فیلڈ کی بنیاد پر اشیاء کو چھانٹنا

ایک اور مثال ایک مخصوص فیلڈ کی بنیاد پر اشیاء کو ترتیب دینے کے لیے کی جاتی ہے۔ اس کو حاصل کرنے کے لیے Comparator انٹرفیس کا استعمال کیا جاتا ہے:

درآمد java.util.ArrayList ;

درآمد java.util.مجموعے ;

درآمد java.util.Comparator ;

درآمد java.util.List ;

عوام کلاس مرکزی {

عوام جامد باطل مرکزی ( تار [ ] args ) {

فہرست < شخص > افراد = نئی ArrayList <> ( ) ; // نام، عمر اور تنخواہ تفویض کریں۔

افراد شامل کریں ( نئی شخص ( 'ایلس' ، 25 ، 50000 ) ) ;

افراد شامل کریں ( نئی شخص ( 'باب' ، 30 ، 75000 ) ) ;

افراد شامل کریں ( نئی شخص ( 'چارلی' ، بیس ، 40000 ) ) ;

موازنہ کرنے والا < شخص > تنخواہ کا موازنہ کرنے والا = نئی موازنہ کرنے والا < شخص > ( ) {

// تنخواہ کی بنیاد پر افراد کو چھانٹیں۔

عوام int موازنہ ( شخص p1، شخص p2 ) {

واپسی عدد . موازنہ ( p2۔ تنخواہ حاصل کریں ( ) ، صفحہ 1۔ تنخواہ حاصل کریں ( ) ) ;

}

} ;

مجموعے . ترتیب دیں ( افراد، تنخواہ کا موازنہ کرنے والا ) ; واپسی قدروں کو ترتیب دیں۔

// افراد کی ترتیب شدہ فہرست پرنٹ کریں۔

کے لیے ( شخصی شخص : افراد ) {

سسٹم . باہر . پرنٹ ایل این ( شخص ) ;

}

}

}

کلاس شخص { // نام، عمر، اور تنخواہ کی وضاحت کریں۔

نجی تار نام ; // ایک کلاس میں دائرہ کار
نجی int عمر ;
نجی int تنخواہ ;

عوام شخص ( تار نام int عمر، int تنخواہ ) {
یہ . نام = نام ;
یہ . عمر = عمر ;
یہ . تنخواہ = تنخواہ ;
}
عوام تار getName ( ) {
واپسی نام ;
}
عوام int عمر حاصل کریں۔ ( ) {
واپسی عمر ;
}
عوام int تنخواہ حاصل کریں ( ) {
واپسی تنخواہ ;
}
عوام تار toString ( ) {
واپسی نام + '(عمر' + عمر + '، تنخواہ $' + تنخواہ + ')' ;
}
}

کوڈ کی تفصیل ذیل میں دی گئی ہے:

  • ایک کلاس جسے ' شخص 'تین شعبوں کے ساتھ:' نام '،' عمر '، اور ' تنخواہ ' سمجھا جاتا.
  • اس کے بعد، نزولی ترتیب میں ان کی تنخواہ کے لحاظ سے شخصی اشیاء کا مجموعہ ترتیب دیں۔

آؤٹ پٹ

آؤٹ پٹ سے پتہ چلتا ہے کہ تنخواہوں کو نزولی ترتیب کے مطابق ترتیب دیا گیا ہے۔

نتیجہ

جاوا میں، Comparator انٹرفیس ایک طاقتور ٹول ہے جو صارفین کو اپنی مرضی کے معیار کی بنیاد پر اشیاء کو ترتیب دینے کی اجازت دیتا ہے۔ یہ compare() طریقہ کو اوور رائیڈ کرتا ہے، صارف اپنے موازنہ فنکشن کی وضاحت کر سکتے ہیں اور اسے مختلف طریقوں سے اشیاء کے مجموعوں کو ترتیب دینے کے لیے استعمال کر سکتے ہیں۔ اس مضمون میں جاوا میں عملی مثالوں کے ساتھ کمپیریٹر انٹرفیس کی وضاحت کی گئی ہے۔