อาร์เรย์ใน 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;
สิ่งนี้ช่วยได้อย่างไรคือตัวแปรสามารถอ้างอิงดัชนี (ตัวเลขในวงเล็บ []) ได้อย่างง่ายดาย ห้องน้ำping.
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
