كيفية فرز Array و ArrayList و String و List و Map و Set في Java؟



تركز هذه المقالة على الفرز في Java. هنا سوف تتعلم كيفية فرز Array و ArrayList و String و List و Map و Set في Java.

يعتبر الفرز جزءًا أساسيًا من أي لغة برمجة. جافا ، بلا شك هي واحدة من أفضل لغات البرمجة. لديها العديد من الميزات التي تجعلها سهلة! ستساعدك هذه المقالة في الكشف عن كل شيء يتعلق بالفرز على وجه الخصوص ، قم بفرز Array و ArrayList و String و List و Map و Set في Java.

يتم تناول الموضوعات أدناه في مقالة الفرز هذه:





هيا نبدأ. :-)

فرز صفيف في جافا

المصفوفات في جافا قم بتخزين قيمة واحدة أو أكثر من نوع بيانات معين وتوفير وصول مفهرس لتخزينها في متغير واحد. دعونا نلقي نظرة على البرنامج أدناه لفرز مصفوفة في Java بترتيب تصاعدي. ومع ذلك ، تأكد من أن لديك تم تثبيت Java .



ترتيب الصفيف في جافا - ترتيب تصاعدي

package Edureka import java.util.Arrays public class SortArray {public static void main (String [] args) {int [] arr = {52،12،2،72،4} // array of 5 element Arrays.sort (arr ) System.out.printf ('Sorted arr [] =٪ s'، Arrays.toString (arr))}}

انتاج | - مرتبة حسب [] = [2، 4، 12، 52، 72]

مصفوفة الفرز في جافا - ترتيب تنازلي

package Edureka import java.util.Arrays import java.util.Collections public class SortArray {public static void main (String [] args) {Integer [] arr = {52،12،2،72،4} // used Integer [ ] بدلاً من int كمجموعات Arrays.sort (arr، Collections.reverseOrder ()) // reverseorder () للترتيب التنازلي System.out.printf ('Sorted arr [] =٪ s'، Arrays.toString (arr))} }

انتاج: مرتبة حسب [] = [72، 52، 12، 4، 2]

ملحوظة: في الكود أعلاه ، استخدمت مصفوفة عدد صحيح [] بدلاً من عدد صحيح بسبب . هذا لأن reverseOrder () لا يدعم الأنواع الأولية.



كثير من الناس يخلطون بين مفهوم المصفوفات و ArrayList في Java. الجدول أدناه قد يزيل كل شكوكك.

مجموعة مصفوفة ArrayList

إنه ذو طول ثابت

متغير الطول (ديناميكي الحجم)

يدعم فقط نوع البيانات البدائية

يمكن إضافة كائن وبيانات مختلفة إلى القائمة

لا يدعم إضافة مكررة

يسمح بإضافة عناصر مكررة

يمكنه اجتياز الاتجاه الأمامي فقط

يمكنه اجتياز الاتجاهين الأمامي والخلفي

لا يمكن تعديل الحجم ديناميكيًا

يمكن تعديل الحجم ديناميكيًا


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

فرز ArrayList في Java (سلسلة)

يمكن فرز ArrayList في Java بسهولة باستخدام ملف طريقة الترتيب () . ارجع إلى الكود أدناه لفرز ArrayList في Java.

package Edureka import java.util.Arrays import java.util.Collections import java.util. * public class Sortingarraylist {public static void main (String args []) {ArrayList list = new ArrayList () // Populate the ArrayList list.add ('فرز') list.add ('java') list.add ('arraylist') list.add ('in') System.out.println ('Unsorted ArrayList:' + list) // مجموعات arraylist غير مصنفة. ترتيب (قائمة) // طريقة الفرز لترتيب تصاعدي System.out.println ('Sorted ArrayList' + 'بالترتيب التصاعدي:' + list) // print Sorted arraylist}}

انتاج -

ArrayList غير مصنفة: [Sorting، java، arraylist، in]
قائمة مصفوفة مرتبة بترتيب تصاعدي: [arraylist، in، java، Sorting]

المضي قدمًا في الفرز في مقالة جافا ، دعنا نرى كيف يمكنك فرز الأعداد الصحيحة. دعونا نحاول تنفيذ الفرز باستخدام طريقة مختلفة ، مثل استخدام طريقة Collections.sort ().

فرز ArrayList في Java باستخدام المجموعات (عدد صحيح)

يمكنك فرز قائمة ArrayList الصحيحة باستخدام طريقة Collections.sort ().

الحزمة Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingArrayList {public static void main (String args []) {ArrayList arraylist = new ArrayList () arraylist.add (48) arraylist. add (2) arraylist.add (19) arraylist.add (22) System.out.println ('Before Sorting:') // قبل الفرز لـ (int counter: arraylist) {System.out.println (counter)} المجموعات .sort (arraylist) // وظيفة للفرز بترتيب تصاعدي System.out.println ('بعد الفرز:') // بعد الفرز لـ (عداد int: arraylist) {System.out.println (عداد)}}}

انتاج -
قبل الفرز:
48
2
19
22
بعد الفرز:
2
19
22
48

فرز String في Java

السلسلة في Java غير قابلة للتغيير. لا توجد طريقة مباشرة لفرز ملف . يمكنك استخدام المصفوفات ، التي لها طريقة CharArray () التي ستنشئ سلسلة إدخال char وباستخدام طريقة أخرى (Arrays.sort (char c []) ، يمكننا الفرز بسهولة.

package Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingString {public static String sortString (String inputString) {char Array1 [] = inputString.toCharArray () // converting input string to char المصفوفة Arrays.sort (Array1) تُعيد String (Array1) // return Sorted string} public static void main (String [] args) {String inputString = 'Edureka' String outputString = sortString (inputString) System.out.println (' سلسلة الإدخال: '+ inputString) System.out.println (' Output String: '+ outputString)}}

انتاج -
سلسلة الإدخال: Edureka
سلسلة الإخراج: Eadekru

فرز قائمة في Java

لفرز قائمة في ، يمكنك استخدام طريقة Collections.sort (). راجع الكود التالي لمزيد من الفهم:

package Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingList {public static void main (String [] args) {Integer [] digits = new Integer [] {12،56،89 ، 27،22،4،88،65،36} List digitsList = Arrays.asList (digits) Collections.sort (digitsList) // Sorted list System.out.println ('Sorted String:' + digitsList)}}

انتاج | : سلسلة مرتبة: [4 ، 12 ، 22 ، 27 ، 36 ، 56 ، 65 ، 88 ، 89]

فرز خريطة في جافا

تنتمي الخريطة في Java إلى الذي يحتوي على زوج مفتاح القيمة. لذلك ، يمكن فرز الخريطة بطريقتين مختلفتين:

أنواع التحول في المعلوماتية
  • فرز حسب المفتاح
  • الترتيب حسب القيمة

فرز حسب المفتاح:

package Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingMap {public static void main (String [] args) {HashMap map = new HashMap () map.put (14، 'Aayushi ') map.put (2،' Rachit ') map.put (30،' Amit ') map.put (5،' Anamika ') TreeMap treeMap = خريطة شجرة جديدة (خريطة) System.out.println (treeMap)}}

انتاج: {2 = راشيت ، 5 = أناميكا ، 14 = أيوشي ، 30 = أميت}

فرز حسب القيمة:

package Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortingMap {public static void main (String [] args) {HashMap unSortedMap = new HashMap () unSortedMap.put (14، 'Aayushi ') unSortedMap.put (20،' Rachit ') unSortedMap.put (60،' Amit ') unSortedMap.put (70،' Anamika ') LinkedHashMap SortedMap = new LinkedHashMap () unSortedMap.entrySet () .stream () .sorted (Map.Entry.comparingByValue ()). forEachOrdered (x -> SortedMap.put (x.getKey ()، x.getValue ())) System.out.println (SortedMap)}}

انتاج: {14 = أيوشي ، 60 = أميت ، 70 = أناميكا ، 20 = راشيت}

المضي قدمًا في الفرز في Java ، دعنا نلتقط الموضوع الأخير ، أي فرز تعيين .

مجموعة الفرز في Java

المجموعة في Java هي واجهة تعمل على توسيع المجموعات. إنها مجموعة غير مرتبة من الكائنات التي لا تخزن قيمًا مكررة. الآن لا توجد طريقة مباشرة لفرز مجموعة في Java. الآن لفرز مجموعة ، يجب عليك تحويل مجموعة إلى قائمة ثم استخدام collections.sort () API وإعادة تحويل القائمة مرة أخرى إلى مجموعة. راجع الكود أدناه لمزيد من الفهم:

package Edureka import java.util.Arrays import java.util.Collections import java.util. * public class SortSet {public static void main (String [] args) {// Unsorted list HashSet numberSet = new LinkedHashSet (Arrays.asList (12 ، 56،89،27،22،4،88،65،36)) List numberList = new ArrayList (numberSet) // convert set to list // فرز القائمة Collections.sort (numberList) numberSet = new LinkedHashSet (numberList) // تحويل القائمة لتعيين // مجموعة الطباعة لتأكيد System.out.println (مجموعة الأرقام)}}

انتاج | : [4 ، 12 ، 22 ، 27 ، 36 ، 56 ، 65 ، 88 ، 89]

يقودنا هذا إلى نهاية مدونتنا حول الفرز في Java حيث تعلمت كيفية فرز Array و ArrayList و String و Map و Set في Java. أتمنى أن تكون قد وجدت هذه المدونة مفيدة وقيمة مضافة لمعرفتك.

تأكد من ممارسة أكبر قدر ممكن وإعادة تجربتك.

تفحص ال من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تم تصميم دورة تدريب وشهادة Java J2EE و SOA من Edureka للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطوري Java. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في 'الفرز في Java: Array و ArrayList و String و Map و Set in Java' وسنعود إليك في أقرب وقت ممكن.