อาร์เรย์ใน 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

อาร์เรย์มีอยู่สองประเภท

  1. อาร์เรย์มิติเดียว
  2. อาร์เรย์หลายมิติ

ตัวแปรอาร์เรย์

การใช้อาร์เรย์ในโปรแกรมของคุณคือ กระบวนการ 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