อาร์เรย์ Java
อาร์เรย์หนึ่งสำหรับแต่ละภาษาการเขียนโปรแกรมสำหรับโครงสร้างข้อมูลที่มีความสำคัญของหลักสูตรภาษาที่แตกต่างกันและขั้นตอนการสำนึกของอาร์เรย์จะไม่เหมือนกัน
ภาษา Java ให้อาร์เรย์ที่ใช้ในการเก็บองค์ประกอบขนาดคงที่ของประเภทเดียวกัน
คุณสามารถประกาศอาร์เรย์ของตัวแปรเช่นตัวเลข [100] แทนงบโดยตรง 100 ตัวแปรอิสระ number0, number1, .... , number99
กวดวิชานี้จะแนะนำประกาศ Java สร้างอาร์เรย์และการเริ่มต้นและให้รหัสตรงกัน
ประกาศตัวแปรอาร์เรย์
แรกที่คุณต้องประกาศตัวแปรอาร์เรย์คุณสามารถใช้อาร์เรย์ในโปรแกรมของคุณ นี่คือไวยากรณ์สำหรับการประกาศตัวแปรอาร์เรย์:
dataType[] arrayRefVar; // 首选的方法 或 dataType arrayRefVar[]; // 效果相同,但不是首选方法
หมายเหตุ: เราแนะนำให้ใช้ dataType [] งบสไตล์ arrayRefVar ประกาศตัวแปรอาร์เรย์ dataType arrayRefVar [] รูปแบบมาจาก C / C ++ ภาษา Java จะใช้เพื่อให้ C / C ++ เขียนโปรแกรมได้อย่างรวดเร็วสามารถเข้าใจภาษา JAVA
ตัวอย่าง
นี่คือตัวอย่างรหัสไวยากรณ์ทั้งสอง:
double[] myList; // 首选的方法 或 double myList[]; // 效果相同,但不是首选方法
การสร้างอาร์เรย์
ภาษา Java โดยใช้ผู้ประกอบการใหม่ในการสร้างอาร์เรย์ไวยากรณ์เป็นดังนี้:
arrayRefVar = new dataType[arraySize];
งบไวยากรณ์ข้างต้นทำสิ่งที่สอง:
- ก่อนใช้ประเภทข้อมูล [arraySize] สร้างอาร์เรย์
- ประการที่สองการอ้างอิงไปยังอาร์เรย์ที่สร้างขึ้นใหม่ได้รับมอบหมายให้ตัวแปร arrayRefVar
ประกาศตัวแปรอาร์เรย์อาร์เรย์ที่สามารถใช้ในการสร้างและดำเนินการคำสั่งดังต่อไปนี้:
dataType[] arrayRefVar = new dataType[arraySize];
นอกจากนี้คุณยังสามารถสร้างอาร์เรย์โดยใช้วิธีการดังต่อไปนี้
dataType[] arrayRefVar = {value0, value1, ..., valuek};
องค์ประกอบของอาร์เรย์มีการเข้าถึงผ่านดัชนี ดัชนีอาร์เรย์เริ่มจาก 0 ดังนั้นค่าดัชนีจาก 0 ถึง arrayRefVar.length-1
ตัวอย่าง
ก่อนที่คำสั่งต่อไปประกาศอาร์เรย์ myList ตัวแปรแล้วสร้างองค์ประกอบที่ 10 มีอาร์เรย์ของประเภทคู่และการอ้างอิงกำหนดให้กับตัวแปร myList
public class TestArray { public static void main(String[] args) { // 数组大小 int size = 10; // 定义数组 double[] myList = new double[size]; myList[0] = 5.6; myList[1] = 4.5; myList[2] = 3.3; myList[3] = 13.2; myList[4] = 4.0; myList[5] = 34.33; myList[6] = 34.0; myList[7] = 45.45; myList[8] = 99.993; myList[9] = 11123; // 计算所有元素的总和 double total = 0; for (int i = 0; i < size; i++) { total += myList[i]; } System.out.println("总和为: " + total); } }
เอาท์พุทตัวอย่างข้างต้นคือ
总和为: 11367.373
ภาพต่อไปนี้แสดงให้เห็นถึงอาร์เรย์ myList นี่ myList มี 10 องค์ประกอบอาร์เรย์คู่ดัชนี 0-9
การทำงานกับอาร์เรย์
ขนาดและชนิดขององค์ประกอบอาร์เรย์ของอาร์เรย์จะถูกกำหนดดังนั้นเมื่อการประมวลผลองค์ประกอบมากมายที่เรามักจะใช้ห่วงหรือ foreach พื้นฐานห่วง
ตัวอย่าง
ตัวอย่างนี้แสดงให้เห็นถึงวิธีการสร้างเสร็จสมบูรณ์แล้วเริ่มต้นและจัดการกับอาร์เรย์:
public class TestArray { public static void main(String[] args) { double[] myList = {1.9, 2.9, 3.4, 3.5}; // 打印所有数组元素 for (int i = 0; i < myList.length; i++) { System.out.println(myList[i] + " "); } // 计算所有元素的总和 double total = 0; for (int i = 0; i < myList.length; i++) { total += myList[i]; } System.out.println("Total is " + total); // 查找最大元素 double max = myList[0]; for (int i = 1; i < myList.length; i++) { if (myList[i] > max) max = myList[i]; } System.out.println("Max is " + max); } }
ตัวอย่างข้างต้นรวบรวมผลมีดังนี้
1.9 2.9 3.4 3.5 Total is 11.7 Max is 3.5
ห่วง foreach
JDK 1.5 แนะนำชนิดใหม่ของวงที่เรียกว่าห่วง foreach หรือการไหลเวียนที่เพิ่มขึ้นก็ไม่ได้ถูกใช้ภายใต้สถานการณ์ที่ผ่านห้อยอาร์เรย์
ตัวอย่าง
ตัวอย่างนี้จะใช้ในการแสดงองค์ประกอบทั้งหมดใน myList อาร์เรย์:
public class TestArray { public static void main(String[] args) { double[] myList = {1.9, 2.9, 3.4, 3.5}; // 打印所有数组元素 for (double element: myList) { System.out.println(element); } } }
ตัวอย่างข้างต้นรวบรวมผลมีดังนี้
1.9 2.9 3.4 3.5
อาร์เรย์เป็นหน้าที่ของพารามิเตอร์ที่
อาร์เรย์สามารถส่งผ่านเป็นพารามิเตอร์กับวิธีการที่ ยกตัวอย่างเช่นตัวอย่างต่อไปนี้เป็นองค์ประกอบวิธี int อาร์เรย์ในการพิมพ์
public static void printArray(int[] array) { for (int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } }
ตัวอย่างต่อไปนี้เรียกวิธี printArray ที่จะพิมพ์ออก 3,1,2,6,4 และ 2:
printArray(new int[]{3, 1, 2, 6, 4, 2});
อาร์เรย์เป็นค่าตอบแทนของฟังก์ชั่น
public static int[] reverse(int[] list) { int[] result = new int[list.length]; for (int i = 0, j = result.length - 1; i < list.length; i++, j--) { result[j] = list[i]; } return result; }
ตัวอย่างของผลดังกล่าวข้างต้นในอาร์เรย์เป็นค่าตอบแทนของฟังก์ชั่นที่
ระดับอาร์เรย์
ระดับ java.util.Arrays สามารถจัดการกับอาร์เรย์จะให้วิธีการทั้งหมดจะคงที่ มันมีคุณสมบัติดังต่อไปนี้:
- การกำหนดอาร์เรย์: เพื่อกรอกวิธี
- เรียงลำดับอาร์เรย์: เรียงลำดับโดยวิธีการในการสั่งซื้อจากน้อยไปมาก
- เปรียบเทียบอาร์เรย์: เท่ากับวิธีการที่ค่อนข้างค่าองค์ประกอบอาร์เรย์มีค่าเท่ากัน
- หาองค์ประกอบอาร์เรย์: สามารถเรียงแถวของการดำเนินการค้นหาแบบทวิภาคโดยวิธี binarySearch
คำแนะนำเฉพาะโปรดดูตารางต่อไปนี้:
เลขที่ | วิธีการและรายละเอียด |
---|---|
1 | สาธารณะคง int binarySearch (Object [] คีย์ Object) การค้นหาแบบทวิภาคโดยใช้วัตถุในการค้นหาอาร์เรย์สำหรับค่าที่กำหนด (Byte, Int, คู่, ฯลฯ ) อาร์เรย์จะต้องเรียงลำดับก่อนที่จะเรียก หากค่าการค้นหาที่มีอยู่ในอาร์เรย์ดัชนีผลตอบแทนของการค้นหาที่สำคัญมิฉะนั้น (- (จุดแทรก) - 1) |
2 | สาธารณะคงเท่ากับบูลีน (Long [] ที่ยาว [] A2) หากทั้งสองอาร์เรย์ที่ระบุยาวเท่ากันกับอีกคนหนึ่งก็จะส่งกลับจริง หากทั้งสองอาร์เรย์มีหมายเลขเดียวกันขององค์ประกอบและสองอาร์เรย์ของคู่ที่สอดคล้องกันทุกองค์ประกอบมีค่าเท่ากันทั้งสองอาร์เรย์จะถือว่าเท่าเทียมกัน ในคำอื่น ๆ ถ้าสองอาร์เรย์ในลำดับเดียวกันที่มีองค์ประกอบเดียวกันในสองอาร์เรย์มีค่าเท่ากัน เช่นเดียวกับคนอื่น ๆ ทุกชนิดข้อมูลพื้นฐาน (Byte สั้น Int ฯลฯ ) |
3 | ประชาชนเป็นโมฆะคงเติม (int [] ที่ int Val) ค่า Int กำหนดอาร์เรย์ int ระบุช่วงที่ระบุของแต่ละองค์ประกอบ เช่นเดียวกับคนอื่น ๆ ทุกชนิดข้อมูลพื้นฐาน (Byte สั้น Int ฯลฯ ) |
4 | ประชาชนเป็นโมฆะคงเรียงลำดับ (Object [] ก) ที่ระบุอาร์เรย์ของวัตถุลงเรียงลำดับตามการสั่งซื้อตามธรรมชาติขององค์ประกอบของ เช่นเดียวกับคนอื่น ๆ ทุกชนิดข้อมูลพื้นฐาน (Byte สั้น Int ฯลฯ ) |