ما هي طريقة Stream.sorted () في جافا

Ma Hy Tryqt Stream Sorted Fy Jafa



في Java ، يمكن أن تكون هناك حالات معينة يحتاج فيها المبرمج إلى فرز الإدخالات وفقًا للمتطلبات. على سبيل المثال ، استرداد القيم غير المصنفة أو التي تم إنشاؤها عشوائيًا بطريقة معينة (تصاعدي أو تنازلي). في مثل هذه الحالات ، ' Stream.sorted () 'تساعد في فرز البيانات بشكل فعال في نهاية المطور.

تتناول هذه المقالة بالتفصيل استخدام وتنفيذ طريقة 'Stream.sorted ()' في جافا.







ما هي طريقة 'Stream.sorted ()' في جافا؟

ال ' Stream.sorted () 'الأسلوب' يتوافق مع ' تدفق ' واجهه المستخدم. تعطي هذه الطريقة دفقًا مصنفًا دون التأثير على ترتيب العناصر / العناصر في الدفق الأصلي.



بناء الجملة



الحالة 1: لا توجد معلمة





تيار ( )

الحالة 2: مع المعلمة



تيار ( شركات )

في بناء الجملة هذا ، ' شركات 'يشير إلى المقارنة بناءً على الفرز الذي سيتم إجراؤه.

قبل الشروع في الأمثلة ، تأكد من تضمين الحزمة التالية. تشتمل هذه الحزمة على فئات وواجهات وما إلى ذلك للسماح بعمليات نمط وظيفي على العناصر:

استيراد java.util.stream. * ؛

مثال 1: تطبيق طريقة 'Stream.sorted ()' لفرز (تصاعدي وتنازلي) الأعداد الصحيحة في Java

ال ' تيار() 'طريقة لإنشاء دفق تسلسلي للعناصر المحددة. في هذا المثال ، يمكن تطبيق هذه الطريقة جنبًا إلى جنب مع ' Stream.sorted () 'لفرز تدفق الأعداد الصحيحة بطريقة تصاعدية وتنازلية:

الطبقة العامة مرتبة {
العامة ثابت الفراغ الرئيسي ( خيط [ ] أرجس ) {
تدفق < عدد صحيح > sortStream1 = Stream.of ( 2 و 4 و 3 و 5 و 1 ) ؛
تدفق < عدد صحيح > sortStream2 = Stream.of ( 9 و 6 و 7 و 8 و 10 ) ؛
System.out.println ( 'الدفق الأول هو:' ) ؛
SortStream1.sorted ( ) .forEach ( System.out :: println ) ؛
System.out.println ( ' الدفق الثاني هو: ' ) ؛
SortStream2.sorted ( ( أ ، ب ) - > ب-أ ) .forEach ( System.out :: println ) ؛
} }

في مقتطف الشفرة هذا:

  • قم بإنشاء دفقين صحيحين مختلفين عبر ' ل() ' طريقة.
  • بعد ذلك ، اربط ' مرتبة() 'مع البث السابق الذي تم إنشاؤه لفرز البث في' تصاعدي ' طلب.
  • الآن ، قم بتطبيق ' مرتبة() 'مرة أخرى مع الدفق الأخير لإرجاع الدفق في' تنازلي 'أمرًا وفقًا لمقارن محدد ، أي' ب-أ '.
  • أخيرًا ، اعرض دفق الأعداد الصحيحة التي تم فرزها في كلتا الحالتين على وحدة التحكم.

انتاج |

في هذا الإخراج ، يمكن ملاحظة أنه يتم فرز كلا الدفقين وفقًا لذلك.

قبل التوجه إلى المثال التالي ، قم بتضمين المثال الموضح أدناه للوصول إلى جميع الفئات والطرق:

استيراد java.util. * ؛

مثال 2: تطبيق أسلوب 'Stream.sorted ()' لفرز كائنات الفئة

في هذا المثال بالذات ، يمكن تنفيذ الطريقة التي تمت مناقشتها على كائنات الفئة لفرز القيم التي تم تمريرها:

بيانات الطبقة {
int بطاقة تعريف ؛
اسم السلسلة
بيانات ( int بطاقة تعريف ، اسم السلسلة ) {
this.id = بطاقة تعريف ؛
this.name = name ؛
}
السلسلة العامة إلى السلسلة ( ) {
يعود 'معرف =' + هذا
+ '، الاسم =' + this.name؛
} }
فئة تيارات {
العامة ثابت الفراغ الرئيسي ( خيط [ ] أرجس ) {
قائمة < بيانات > list = ArrayList جديدة < بيانات > ( ) ؛
قائمة ( بيانات جديدة ( 2 و 'هاري' ) ) ؛
قائمة ( بيانات جديدة ( 1 و 'ديفيد' ) ) ؛
قائمة ( بيانات جديدة ( 3 و 'توم' ) ) ؛
تدفق < بيانات > تيار = list.stream ( ) ؛
تيار ( ( e1, e2 ) - > e1.id - e2.id ) .forEach ( System.out :: println ) ؛
} }

في سطور التعليمات البرمجية هذه ، قم بتنفيذ الخطوات التالية:

  • أولاً ، أعلن عن فئة باسم ' بيانات '.
  • في تعريفه ، حدد المتغيرات المذكورة.
  • في الخطوة التالية ، قم بتضمين مُنشئ فئة ذي معلمات به معلمات متطابقة مع المتغيرات المحددة.
  • في تعريف المُنشئ ، ارجع إلى المتغيرات المحددة ، وخصص لها قيم الوسيطات التي تم تمريرها عبر ' هذا '.
  • الآن ، تجاوز ' إلى سلسلة() 'طريقة لإرجاع القيم التي تم تمريرها.
  • في ال ' رئيسي() '، قم بإنشاء قائمة بكائنات الفئة وإضافة القيم التي تم تمريرها إلى القائمة عبر' يضيف() ' طريقة.
  • بعد ذلك ، قم بإحضار الدفق من القائمة عبر ' تدفق() ' طريقة.
  • أيضًا ، قم بتطبيق ' مرتبة() 'مع المقارنة المحددة التي تقارن بين كائنين على أساس' بطاقة تعريف 'في' تصاعدي ' طريقة.
  • أخيرًا ، قم بتطبيق ' لكل () 'طريقة لتسجيل تدفق الكائنات التي تم فرزها على وحدة التحكم.

انتاج |

في هذه النتيجة ، يمكن تحليل أن قيم الكائن مرتبة بشكل مناسب.

خاتمة

ال ' Stream.sorted () 'هي الطريقة المقابلة لـ' تدفق ”التي تعطي دفقًا مصنّفًا دون التأثير على ترتيب العناصر / العناصر في الدفق الأصلي. تقوم هذه الطريقة بفرز العناصر بطريقة افتراضية وكذلك بناءً على المقارنة المحددة. ناقشت هذه المدونة استخدام وتنفيذ طريقة 'Stream.sorted ()' في جافا.