คำอธิบายของ Java API เกี่ยวกับคลาสอาร์เรย์คือ: คลาสนี้มีวิธีการต่าง ๆ ที่ใช้ในการจัดการอาร์เรย์ (เช่นการเรียงลำดับและการค้นหา)
1. เรียงลำดับอาร์เรย์ของประเภทข้อมูลพื้นฐาน
ภาพประกอบ:
(1) เรียงลำดับ () ในคลาสอาร์เรย์ใช้ "วิธีการเรียงลำดับอย่างรวดเร็ว";
(2) ตัวอย่างเช่นอาร์เรย์ของประเภทข้อมูลพื้นฐานเช่น int [], double [], char [] ฯลฯ คลาสอาร์เรย์จะจัดเตรียมการจัดเรียงคำสั่งซื้อเริ่มต้นขึ้นและไม่ได้ให้วิธีการจัดเรียงลำดับจากมากไปหาน้อย
(3) ในการเรียงลำดับอาร์เรย์ของประเภทพื้นฐานตามลำดับจากมากไปน้อยคุณต้องแปลงอาร์เรย์เหล่านี้เป็นอาร์เรย์คลาสที่ห่อหุ้มด้วยจำนวนเต็มเช่นจำนวนเต็ม [], double [], อักขระ [] ฯลฯ เพื่อจัดเรียงอาร์เรย์คลาสเหล่านี้ (อันที่จริงมันเป็นการดีกว่าที่จะเรียงลำดับคำสั่งซื้อก่อนและเปลี่ยนเป็นคำสั่งซื้อด้วยตัวเอง)
เรียงลำดับอาร์เรย์ตามลำดับเริ่มต้นขึ้น
ต้นแบบฟังก์ชั่น: การเรียงลำดับโมฆะแบบคงที่ (int [] a) เรียงลำดับอาร์เรย์ประเภท int ที่ระบุในลำดับจากน้อยไปมาก
การเรียงลำดับโมฆะแบบคงที่ (int [] a, int fromindex, int toindex) เรียงลำดับช่วงที่ระบุของอาร์เรย์ของประเภท int ในตัวเลขจากน้อยไปมาก
ตัวอย่างรหัส:
การคัดลอกรหัสมีดังนี้:
นำเข้า Java.util.Arrays;
คลาสสาธารณะ Arraysort_11 {
โมฆะคงที่สาธารณะหลัก (String args [])
-
int [] a = {1,4, -1,5,0};
array.sort (a);
// เนื้อหาของอาร์เรย์ a [] กลายเป็น {-1,0,1,4,5}
สำหรับ (int i = 0; i <a.length; i ++)
System.out.print (a [i]+"");
-
-
2. เรียงลำดับข้อมูลประเภทข้อมูลคอมโพสิต
ฟังก์ชันต้นแบบ:
(1) การจัดเรียงแบบคงที่สาธารณะ <T> เป็นโมฆะ (T [] A, เปรียบเทียบ C) เรียงลำดับอาร์เรย์วัตถุที่ระบุตามลำดับที่สร้างโดยตัวเปรียบเทียบที่ระบุ
(2) สาธารณะคงที่ <T> การเรียงลำดับเป็นโมฆะ (t [] a, int fromIndex, int toIndex, comparator c) เรียงลำดับช่วงที่ระบุของอาร์เรย์วัตถุที่ระบุตามลำดับที่สร้างโดยตัวเปรียบเทียบที่ระบุ
หมายเหตุ: อัลกอริทึมการเรียงลำดับทั้งสองนี้เป็นอัลกอริทึม "ปรับการเรียงลำดับ"
ตัวอย่างรหัส:
การคัดลอกรหัสมีดังนี้:
แพ็คเกจ AA;
นำเข้า Java.util.Arrays;
นำเข้า Java.util.Comparator;
ArraySort ชั้นเรียนสาธารณะ {
จุด [] arr;
ArraySort () {
arr = จุดใหม่ [4];
สำหรับ (int i = 0; i <4; i ++)
arr [i] = จุดใหม่ ();
-
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
ArraySort 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;
array.sort (sort.arr, mycomprator ใหม่ ());
สำหรับ (int i = 0; i <4; i ++) // ผลการเรียงลำดับเอาต์พุต
System.out.println ("("+sort.arr [i] .x+","+sort.arr [i] .y+")");
-
-
จุดคลาส {
int x;
int y;
-
// ตัวเปรียบเทียบพิกัด X จะถูกจัดเรียงจากขนาดเล็กถึงขนาดใหญ่
คลาส MyComprator ใช้เครื่องเปรียบเทียบ {
INT Public Compare (Object Arg0, Object Arg1) {
จุด t1 = (จุด) arg0;
จุด t2 = (จุด) arg1;
if (t1.x! = t2.x)
กลับ t1.x> t2.x?
อื่น
กลับ t1.y> t2.y? 1: -1;
-
-