อาร์เรย์ใน Java
ความหมายของ Java อาร์เรย์?
Java แถว เป็นโครงสร้างข้อมูลประเภททั่วไปซึ่งมีค่าข้อมูลทั้งหมดของประเภทข้อมูลเดียวกัน รายการข้อมูลที่ใส่ในอาร์เรย์เรียกว่าองค์ประกอบ และองค์ประกอบแรกในอาร์เรย์เริ่มต้นด้วยดัชนีศูนย์ อาร์เรย์สืบทอดคลาสอ็อบเจ็กต์และใช้อินเทอร์เฟซแบบอนุกรมและแบบโคลนได้ เราสามารถเก็บค่าดั้งเดิมหรือวัตถุไว้ในอาร์เรย์ได้
พูดง่ายๆ ก็คือ มันเป็นโครงสร้างการเขียนโปรแกรมที่ช่วยแทนที่สิ่งนี้
x0=0; x1=1; x2=2; x3=3; x4=4; x5=5;
ด้วยสิ่งนี้ …
x[0]=0; x[1]=1; x[2]=2; x[3]=3; x[4]=4; x[5]=5;
สิ่งนี้ช่วยได้อย่างไรคือตัวแปรสามารถอ้างอิงดัชนี (ตัวเลขในวงเล็บ []) ได้อย่างง่ายดาย วนลูป.
for(count=0; count<5; count++) { System.out.println(x[count]); }
ประเภทของอาร์เรย์ใน Java
อาร์เรย์มีอยู่สองประเภท
- อาร์เรย์มิติเดียว
- อาร์เรย์หลายมิติ
ตัวแปรอาร์เรย์
การใช้อาร์เรย์ในโปรแกรมของคุณคือ กระบวนการ 3 ขั้นตอน -
1) ประกาศอาร์เรย์ของคุณ
2) การสร้างอาร์เรย์ของคุณ
3) เริ่มต้นอาร์เรย์ของคุณ
1) ประกาศอาร์เรย์ของคุณ
วากยสัมพันธ์
<elementType>[] <arrayName>;
or
<elementType> <arrayName>[];
ตัวอย่าง:
int intArray[]; // Defines that intArray is an ARRAY variable which will store integer values int []intArray;
2) การสร้างอาร์เรย์
arrayname = new dataType[]
ตัวอย่าง:
intArray = new int[10]; // Defines that intArray will store 10 integer values
ประกาศและการก่อสร้างรวมกัน
int intArray[] = new int[10];
3) เริ่มต้นอาร์เรย์
intArray[0]=1; // Assigns an integer value 1 to the first element 0 of the array intArray[1]=2; // Assigns an integer value 2 to the second element 1 of the array
การประกาศและเริ่มต้นอาร์เรย์
[] = {};ตัวอย่าง:
int intArray[] = {1, 2, 3, 4}; // Initilializes an integer array of length 4 where the first element is 1 , second element is 2 and so on.
โปรแกรมอาร์เรย์แรก
ขั้นตอน 1) คัดลอกโค้ดต่อไปนี้ลงในโปรแกรมแก้ไข
class ArrayDemo{ public static void main(String args[]){ int array[] = new int[7]; for (int count=0;count<7;count++){ array[count]=count+1; } for (int count=0;count<7;count++){ System.out.println("array["+count+"] = "+array[count]); } //System.out.println("Length of Array = "+array.length); // array[8] =10; } }
ขั้นตอน 2) บันทึก คอมไพล์ และรันโค้ด สังเกตผลลัพธ์
ผลลัพธ์ที่คาดหวัง:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
ขั้นตอน 3) ถ้า x เป็นการอ้างอิงถึงอาร์เรย์ x.ความยาว จะให้ความยาวของอาเรย์แก่คุณ
ไม่แสดงความคิดเห็น บรรทัดที่ 10 บันทึก คอมไพล์ และรันโค้ด สังเกตผลลัพธ์
Length of Array = 7
ขั้นตอน 4) ต่างจากซี Java ตรวจสอบขอบเขตของอาร์เรย์ขณะเข้าถึงองค์ประกอบในนั้น Java จะไม่ยอมให้โปรแกรมเมอร์เกินขอบเขตของมัน
ไม่แสดงความคิดเห็น บรรทัดที่ 11 บันทึก คอมไพล์ และรันโค้ด สังเกตผลลัพธ์
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
ขั้นตอน 5) ArrayIndexOutOfBoundsException ถูกส่งออกไป ในกรณีของ C รหัสเดียวกันจะแสดงค่าขยะบางส่วน
Java อาร์เรย์: ผ่านการอ้างอิง
อาร์เรย์จะถูกส่งผ่านไปยังฟังก์ชันโดยการอ้างอิง หรือเป็นตัวชี้ไปยัง
ต้นตำรับ. นี่หมายถึงทุกสิ่งที่คุณทำกับ Array ภายใน
ฟังก์ชั่นส่งผลต่อต้นฉบับ
ตัวอย่าง: เพื่อให้เข้าใจถึงอาร์เรย์ที่ถูกส่งผ่านโดยการอ้างอิง
ขั้นตอน 1) คัดลอกโค้ดต่อไปนี้ลงในโปรแกรมแก้ไข
class ArrayDemo { public static void passByReference(String a[]){ a[0] = "Changed"; } public static void main(String args[]){ String []b={"Apple","Mango","Orange"}; System.out.println("Before Function Call "+b[0]); ArrayDemo.passByReference(b); System.out.println("After Function Call "+b[0]); } }
ขั้นตอน 2) บันทึก คอมไพล์ และรันโค้ด สังเกตผลลัพธ์
ผลลัพธ์ที่คาดหวัง:
Before Function Call Apple After Function Call Changed
อาร์เรย์หลายมิติ
อาร์เรย์หลายมิติจริงๆ แล้วเป็นอาร์เรย์ของอาร์เรย์
ในการประกาศอาร์เรย์หลายมิติ ตัวแปรระบุดัชนีเพิ่มเติมแต่ละรายการโดยใช้ชุดวงเล็บเหลี่ยมอีกชุดหนึ่ง
Ex: int twoD[ ][ ] = new int[4][5] ;
เมื่อคุณจัดสรรหน่วยความจำสำหรับอาร์เรย์หลายมิติ คุณจะต้องระบุหน่วยความจำสำหรับมิติแรก (ซ้ายสุด) เท่านั้น
คุณสามารถจัดสรรมิติที่เหลือแยกกันได้
In Javaความยาวอาร์เรย์ของแต่ละอาร์เรย์ในอาร์เรย์หลายมิติอยู่ภายใต้การควบคุมของคุณ
ตัวอย่าง
public class Guru99 { public static void main(String[] args) { // Create 2-dimensional array. int[][] twoD = new int[4][4]; // Assign three elements in it. twoD[0][0] = 1; twoD[1][1] = 2; twoD[3][2] = 3; System.out.print(twoD[0][0] + " "); } }
ผลลัพธ์ที่คาดหวัง:
1