وصف Java API لفئة المصفوفات هو: تحتوي هذه الفئة على طرق مختلفة تستخدم لمعالجة المصفوفات (مثل الفرز والبحث).
1. فرز صفائف أنواع البيانات الأساسية
يوضح:
(1) sort () في فئة المصفوفات تستخدم "طريقة الفرز السريع المضبوط" ؛
(2) على سبيل المثال ، لا توفر صفائف أنواع البيانات الأساسية مثل int [] ، double [] ، char [] ، إلخ ، فئة المصفوفات فقط ترتيب ترتيب تصاعدي افتراضي ، ولا توفر طريقة ترتيب التراجع المقابلة.
(3) لفرز صفائف الأنواع الأساسية في ترتيب تنازلي ، تحتاج إلى تحويل هذه المصفوفات إلى صفائف فئة مغلفة مقابلة ، مثل عدد صحيح [] ، مزدوج [] ، حرف [] ، إلخ ، لفرز هذه المصفوفات الفئة. (في الواقع ، من الأفضل فرز الترتيب تصاعدي أولاً وتحويله إلى الترتيب بنفسك).
فرز المصفوفات في ترتيب تصاعدي افتراضي
النموذج الأولي للوظيفة: فرز الفراغ الثابت (int [] أ) فرز صفيف النوع الداخلي المحدد بترتيب تصاعدي.
فرز الفراغ الثابت (int [] A ، int fromIndex ، int toindex) فرز النطاق المحدد لمجموعة من نوع int في الأرقام تصاعدي.
مثال رمز:
نسخة الكود كما يلي:
استيراد java.util.arrays ؛
صفات الطبقة العامة صفوفات {11
الفراغ الثابت العام الرئيسي (سلسلة args [])
{
int [] a = {1،4 ، -1،5،0} ؛
المصفوفات. sort (a) ؛
// يصبح محتوى الصفيف A [] {-1،0،1،4،5}
لـ (int i = 0 ؛ i <a.length ؛ i ++)
system.out.print (a [i]+"") ؛
}
}
2. فرز بيانات أنواع البيانات المركبة
وظيفة النموذج الأولي:
(1) فرز الفراغ الثابت العام (T [] A ، المقارنة C) فرز صفيف الكائن المحدد وفقًا للترتيب الذي تم إنشاؤه بواسطة المقارنة المحددة.
(2) STATIC STATIC SORMENT <T> الفراغ العام (T [] A ، int fromIndex ، int toindex ، المقارنة C) فرز النطاق المحدد لمجموعة الكائن المحددة وفقًا للترتيب الذي تم إنشاؤه بواسطة المقارنة المحددة.
ملاحظة: هاتان خوارزميات الفرز هما خوارزمية "ضبط دمج".
مثال رمز:
نسخة الكود كما يلي:
حزمة AA ؛
استيراد java.util.arrays ؛
استيراد java.util.comparator ؛
صفائف الطبقة العامة {
النقطة [] arr ؛
Arraysort () {
ARR = نقطة جديدة [4] ؛
لـ (int i = 0 ؛ i <4 ؛ i ++)
arr [i] = new point () ؛
}
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
sortsort sort = new arraysort () ؛
sort.arr [0] .x = 2 ؛ sort.arr [0] .y = 1 ؛
sort.arr [1] .x = 2 ؛ sort.arr [1] .y = 2 ؛
sort.arr [2] .x = 1 ؛ sort.arr [2] .y = 2 ؛
sort.arr [3] .x = 0 ؛ sort.arr [3] .y = 1 ؛
arrays.sort (sort.arr ، new MyComprator ()) ؛
لـ (int i = 0 ؛ i <4 ؛ i ++) // نتيجة فرز الإخراج
System.out.println ("("+sort.arr [i] .x+"،"+sort.arr [i] .y+")") ؛
}
}
نقطة الفصل {
int x ؛
int y ؛
}
//المقارنة ، يتم فرز الإحداثيات X من صغيرة إلى كبيرة.
فئة MyComprator تنفذ المقارنة {
Public Int Compare (Object Arg0 ، Object Arg1) {
النقطة T1 = (نقطة) Arg0 ؛
النقطة T2 = (نقطة) Arg1 ؛
إذا (t1.x! = t2.x)
إرجاع t1.x> t2.x؟
آخر
العودة t1.y> t2.y؟
}
}