วิธีการเริ่มต้นอาร์เรย์ใน java



แถว ชวา

วิธีการเริ่มต้นอาร์เรย์ใน java

อาร์เรย์ใน java เป็นโครงสร้างข้อมูลที่ใช้กันอย่างแพร่หลายซึ่งเก็บค่าข้อมูลประเภทเดียวกันไว้หลายค่าตามลำดับ อาร์เรย์มีความยาวคงที่และดัชนีเริ่มจาก 0 ถึง n-1 โดยที่ n คือความยาวของอาร์เรย์ เราสามารถใช้คลาสอาร์เรย์ใน Java เพื่อเก็บค่าประเภทใดก็ได้เช่นสตริงจำนวนเต็มอักขระไบต์และแม้แต่อ็อบเจ็กต์ที่ผู้ใช้กำหนดเอง เราจะเรียนรู้วิธีการเริ่มต้นอาร์เรย์ใน Java?

ด้านล่างนี้คือการแสดงแผนภาพของอาร์เรย์มิติเดียวของจำนวนเต็มที่มี 11 องค์ประกอบ

อาร์เรย์ใน java

สารบัญ

คุณสมบัติ Java Arrays

  • อาร์เรย์มีขนาดคงที่และไม่สามารถเปลี่ยนแปลงได้
  • เนื่องจากอาร์เรย์เป็นแบบดัชนีจึงง่ายต่อการเข้าถึงองค์ประกอบแบบสุ่ม
  • จัดสรรหน่วยความจำต่อเนื่องสำหรับองค์ประกอบอาร์เรย์
  • เก็บได้ทั้ง ข้อมูลดั้งเดิมและไม่ใช่ข้อมูลดั้งเดิม ค่า

จะประกาศ Array ใน Java ได้อย่างไร?

การประกาศ Java Arrays

สามารถประกาศอาร์เรย์ได้ด้วยวิธีด้านล่าง การประกาศอาร์เรย์ประกอบด้วย 2 ส่วนอันดับแรกคือประเภทข้อมูลขององค์ประกอบที่เราต้องการเก็บไว้ในอาร์เรย์ (เช่น int, String เป็นต้น) และตามด้วยชื่ออาร์เรย์ [] วงเล็บแสดงว่าเป็นอาร์เรย์ เมื่อเราประกาศอาร์เรย์มันจะบอกคอมไพเลอร์ว่าตัวแปรนั้นเป็นอาร์เรย์และไม่ได้สร้างอาร์เรย์จริงๆ

ประเภทข้อมูล [] arrayName; (หรือ)

ประเภทข้อมูล [] arrayName; (หรือ)

ประเภทข้อมูล arrayName []; -> โดยปกติเราไม่นิยมใช้วิธีนี้แม้ว่าจะถูกต้องก็ตาม

ตัวอย่างการประกาศอาร์เรย์

int[] arrNumbers;
String[] arrNames;
float[] arrValues;
boolean[] arrBoolean;
char[] arrLetters;
byte[] arrBytes;
double[] arrWeight;

จะสร้าง Array ใน Java ได้อย่างไร?

String Array ใน Java

เราสร้างอาร์เรย์โดยใช้ ใหม่ ตัวดำเนินการ ในสิ่งนี้เราระบุขนาดของอาร์เรย์ใน [] ซึ่งแสดงถึงจำนวนหน่วยความจำที่ต้องใช้ในการจัดเก็บตัวแปรอาร์เรย์

arrname = ประเภทข้อมูลใหม่ [ขนาด];

นอกจากนี้เรายังสามารถประกาศและสร้างไฟล์ แถว ในคำสั่งเดียวดังต่อไปนี้ คำสั่งแรกสร้างอาร์เรย์จำนวนเต็มชื่อตัวเลขขนาด 5 ตัวที่สองสร้างสตริงอาร์เรย์ที่มีชื่อขนาด 2

int[] arrNumbers = new int[5];
String[] arrNames = new String[2];

จะเริ่มต้นอาร์เรย์ใน Java ได้อย่างไร?

วิธีการสร้างอินสแตนซ์อาร์เรย์

การเริ่มต้นอาร์เรย์หรือการสร้างอินสแตนซ์หมายถึงการกำหนดค่าให้กับอาร์เรย์ตามขนาดอาร์เรย์ นอกจากนี้เรายังสามารถสร้างและเริ่มต้น (สร้างอินสแตนซ์) อาร์เรย์ด้วยกันได้ (อ้างอิงวิธีที่ 1 ด้านล่าง) ในกรณีนี้จำนวนองค์ประกอบแสดงถึงความยาวหรือขนาดของอาร์เรย์ ในวิธีที่ 2 เรากำลังกำหนดค่าแยกต่างหาก t0 แต่ละองค์ประกอบ เนื่องจากดัชนีอาร์เรย์เริ่มต้นด้วย 0 และขนาดอาร์เรย์ที่นี่คือ 3 องค์ประกอบที่ 3 จึงครอบครองตำแหน่งที่ 2 ซึ่งเป็น n-1 โดยที่ n คือขนาดของอาร์เรย์

//Method 1
int[] arrNumbers = {1,2,3};

//Method 2
int[] arrNumbers = new int[3];
arrNumbers[0] = 1;
arrNumbers[1] = 2;
arrNumbers[2] = 3;

การเข้าถึงองค์ประกอบ Array ใน Java

เราเข้าถึงองค์ประกอบอาร์เรย์โดยใช้ค่าดัชนี โดยทั่วไปเราใช้ สำหรับ ห่วงหรือ สำหรับแต่ละ วนซ้ำเพื่อเข้าถึงองค์ประกอบอาร์เรย์เนื่องจากองค์ประกอบทั้งหมดเป็นประเภทเดียวกันและมีขนาดคงที่

ตัวอย่าง: สร้างเริ่มต้นและเข้าถึงองค์ประกอบอาร์เรย์

ที่นี่เรากำลังสร้างและเริ่มต้นอาร์เรย์ของสตริงในคำสั่งเดียวและเข้าถึงแต่ละองค์ประกอบโดยใช้สำหรับลูป

public class ArrayDemo1 {

  public static void main(String[] args) {
    String[] arrMonths = {"May","June","July"};
    System.out.println("Length of array is: " + arrMonths.length);
    for(int i=0;i<arrMonths.length;i++)
    {
      System.out.println(arrMonths[i]); 
    }

  }

}
Output:
Length of array is: 3
May
June
July

ตัวอย่าง: วิธีการเริ่มต้นอาร์เรย์และการเข้าถึงองค์ประกอบอาร์เรย์อีกวิธีหนึ่ง

ในตัวอย่างด้านล่างก่อนอื่นเราจะประกาศและสร้างอาร์เรย์ของจำนวนเต็มจากนั้นกำหนดค่าให้กับองค์ประกอบอาร์เรย์แต่ละรายการ ที่นี่เรากำลังใช้สำหรับแต่ละลูปเพื่อเข้าถึงองค์ประกอบอาร์เรย์

public class ArrayDemo2 {

  public static void main(String[] args) {
    int[] numbers = new int[5];
    numbers[0] = 100;
    numbers[1] = 101;
    numbers[2] = 103;
    numbers[3] = 104;
    numbers[4] = 105;
    
    for(int i: numbers)
    {
      System.out.println(i);
    }

  }

}
Output:
100
101
103
104
105

ประเภทของอาร์เรย์ใน Java

อาร์เรย์ใน Java มี 2 ประเภท:

  • อาร์เรย์มิติเดียว - ประกอบด้วย 1 แถวและ 1 คอลัมน์เท่านั้น ตัวอย่างข้างต้นทั้งหมดเป็นของอาร์เรย์มิติเดียว
  • อาร์เรย์หลายมิติ - ประกอบด้วยหลายแถวและหลายคอลัมน์ กล่าวอีกนัยหนึ่งก็คืออาร์เรย์ของอาร์เรย์ที่ทุกแถวมีจำนวนคอลัมน์เท่ากัน เช่น: 2 * 2 matrix
  • อาร์เรย์ขรุขระ - แต่ละแถวมีจำนวนคอลัมน์ที่แตกต่างกัน

อาร์เรย์หลายมิติใน java

อาร์เรย์หลายมิติสามารถมีหลายแถวและคอลัมน์ ดัชนีใน [] แรกแสดงถึงแถวและ [] ที่สองแสดงถึงคอลัมน์

เช่น: int [] [] a = new int [2] [3]

ซึ่งหมายความว่าอาร์เรย์ประกอบด้วย 2 แถวและ 3 คอลัมน์ ด้านล่างนี้คือการแสดงแผนภาพของอาร์เรย์หลายมิติ

อาร์เรย์ใน java

ตัวอย่างการสร้างอาร์เรย์หลายมิติของสตริง

ตัวอย่างด้านล่างแสดงวิธีสร้างประกาศและเข้าถึงองค์ประกอบอาร์เรย์หลายมิติ ที่นี่เราเข้าถึงองค์ประกอบอาร์เรย์โดยตรงโดยใช้ดัชนีแถวและคอลัมน์

public class ArrayMulti {

  public static void main(String[] args) {
    String[][] arrNames = {{"John","Jacob"},{"Thomas","Martin"}};
    System.out.println(arrNames[0][0] + " " + arrNames[0][1]);
    System.out.println(arrNames[1][0] + " " + arrNames[1][1]);

  }

}
Output:
John Jacob 
Thomas Martin

ตัวอย่างอาร์เรย์ 2 มิติของจำนวนเต็ม

ที่นี่เรากำลังสร้างอาร์เรย์ของจำนวนเต็ม 2 มิติที่มี 2 แถวและ 3 คอลัมน์ เรากำหนดค่าให้กับองค์ประกอบอาร์เรย์เหล่านี้ภายในสำหรับลูป ลำดับที่ 1 สำหรับลูปหมายถึงแถวและลำดับที่ 2 สำหรับลูปหมายถึงคอลัมน์

public class ArrayMulti {

  public static void main(String[] args) {
    //Declare and create multidimensional array
    int[][] arrnum = new int[2][3];
    for(int i=0;i<2;i++) {
      for(int j=0;j<3;j++) {
        //Assign values to array elements
        arrnum[i][j] = i+1;
        System.out.print(arrnum[i][j] + " ");
      }
      System.out.println();
    }

  }

}
Output:
1 1 1 
2 2 2 

Jagged Arrays ใน Java

อาร์เรย์หยักยังเป็นอาร์เรย์ 2 มิติที่มีจำนวนคอลัมน์ต่างกัน กล่าวคือแต่ละแถวมีจำนวนคอลัมน์ที่แตกต่างกัน การเริ่มต้นอาร์เรย์แบบหยักนั้นแตกต่างจากอาร์เรย์ 2D ปกติ

การเริ่มต้นของ Jagged Array

ในระหว่างการสร้างอาร์เรย์เราระบุจำนวนแถว ในตัวอย่างนี้คือ 2 ใน 2 คำสั่งถัดไปสำหรับอาร์เรย์แต่ละแถวเราระบุจำนวนคอลัมน์ แถวที่ 1 มี 3 คอลัมน์และแถวที่ 2 มี 4 คอลัมน์

int[][] arrnum = new int[2][];
arrnum[0] = new int[3];
arrnum[1] = new int[4];

ตัวอย่างของอาร์เรย์ที่ขรุขระโดยการกำหนดค่าสำหรับลูป

public class JaggedArray {

  public static void main(String[] args) {
    int[][] arrnum = new int[2][];
    arrnum[0] = new int[3];
    arrnum[1] = new int[4];

    int val=1;
    //Assign values
    for(int i=0;i<arrnum.length;i++) {
      for(int j=0;j<arrnum[i].length;j++) {
        arrnum[i][j] = val;
      }
    }
    
    //Print the values
    for(int i=0;i<arrnum.length;i++)
    {
      for(int j=0;j<arrnum[i].length;j++)
      {
        System.out.print(arrnum[i][j] + " ");
      }
      System.out.println();
    }
  }

}
Output:
1 1 1 
1 1 1 1 

ตัวอย่างอาร์เรย์ที่ขรุขระโดยการกำหนดค่าเริ่มต้นระหว่างการสร้างอาร์เรย์

public class JaggedArray {

  public static void main(String[] args) {
    int[][] arr = {{4,5,6},{1,2},{7,9,8}};
    for(int i=0;i<3;i++)
    {
      for(int j=0;j<arr[i].length;j++) {
        System.out.print(arr[i][j] + " ");
      }
      System.out.println();
    }
  }
}
Output:
4 5 6 
1 2 
7 9 8 

วิธี Java Array

ด้านล่างนี้เป็นวิธีการโดยตรงที่รองรับโดย Arrays ใน Java

วิธีรายละเอียด
โมฆะโคลน ()โคลนค่าอาร์เรย์ที่มีอยู่โดยที่การอ้างอิงจะไม่ถูกคัดลอก
บูลีนเท่ากับ (Object 0)ตรวจสอบว่าวัตถุอื่นมีค่าเท่ากับวัตถุปัจจุบันหรือไม่
คลาส getClass ()ส่งคืนชื่อคลาส
สตริง toString ()ส่งกลับการแสดงสตริงของอ็อบเจ็กต์
ความยาว int ()ส่งกลับความยาวของอาร์เรย์

ข้อยกเว้น Java Array

อาร์เรย์ใน Java พ่น ข้อยกเว้นด้านล่าง:

  • ArrayIndexOutOfBoundsException: สิ่งนี้เกิดขึ้นเมื่อค่าดัชนีที่เราระบุมากกว่าความยาวของอาร์เรย์หรือเมื่อเป็นค่าลบ สิ่งนี้เกิดขึ้นส่วนใหญ่ในขณะที่กำหนดค่าหรือเข้าถึงองค์ประกอบอาร์เรย์

คัดลอกอาร์เรย์

เราสามารถคัดลอกองค์ประกอบจากอาร์เรย์หนึ่งไปยังอีกอาร์เรย์โดยใช้วิธี arraycopy ของระบบคลาส

คัดลอกไวยากรณ์อาร์เรย์

อาร์เรย์โมฆะสาธารณะ (Object src, int srcPos, Object dest, int destPos, int length);

src-source อาร์เรย์วัตถุที่จะคัดลอก

srcPos - ตำแหน่งเริ่มต้นในอาร์เรย์ต้นทาง

ปลายทาง - วัตถุอาร์เรย์ปลายทางที่จะคัดลอกไป

destPos - ตำแหน่งเริ่มต้นในอาร์เรย์ปลายทาง

ความยาว - จำนวนองค์ประกอบอาร์เรย์ที่จะคัดลอก

ตัวอย่างการคัดลอกอาร์เรย์

ในตัวอย่างด้านล่างเรากำลังคัดลอก 4 องค์ประกอบจากอาร์เรย์ต้นทางไปยังอาร์เรย์ปลายทาง ดังนั้นผลลัพธ์จึงพิมพ์ "java" "

public class ArrayCopy {

  public static void main(String[] args) {
    char[] a = {'d','l','h','y','j','a','v','a','g','r','t'};
    char[] b = new char[4];
    
    System.arraycopy(a, 4, b, 0, 4);
    System.out.println(String.valueOf(b));

  }

}
Output:
java

ส่งอาร์เรย์ไปยังเมธอด

ใน Java เราสามารถส่งผ่านวัตถุอาร์เรย์ไปยังเมธอดสำหรับการจัดการเพิ่มเติมหรือการดำเนินการอื่น ๆ ตัวอย่างด้านล่างแสดงให้เห็นว่าเราสามารถส่งอาร์เรย์อ็อบเจ็กต์จำนวนเต็มไปยังเมธอดและดำเนินการเพิ่มองค์ประกอบอาร์เรย์ทั้งหมดได้อย่างไร

public class ArrayDemo3 {

  public static void main(String[] args) {
    int[] num = {5,7,3,2,8};
    add(num);

  }
  
  public static void add(int[] num) {
    int sum = 0;
    for(int i=0;i<num.length;i++) {
      sum = sum + num[i];
    }
    System.out.println("Sum of array elements is : " + sum);
  }

}
Output:
Sum of array elements is : 25

ส่งคืนอาร์เรย์จากวิธีการ

เรายังสามารถ ส่งคืนอาร์เรย์ วัตถุจากวิธีการไปยังวิธีการหลักหลังจากดำเนินการที่จำเป็น

public class ArrayDemo4 {

  public static void main(String[] args) {
    String[] arr = getArrayValues();
    for(String cities:arr) {
      System.out.println(cities);
    }
      

  }
  
  public static String[] getArrayValues() {
    String[] arrCities = {"Chennai","Bangalore","Delhi"};
    return arrCities;
  }

}
Output:
Chennai
Bangalore
Delhi

การจัดการอาร์เรย์

อาร์เรย์ใน Java เป็นของแพ็คเกจ java.util. มีการดำเนินการหลายอย่างที่ได้รับการสนับสนุนโดยคลาส java.util.Array ดังที่กล่าวไว้ด้านล่าง:

  • เราสามารถใช้เมธอด copyOfRange ของคลาส Array เพื่อคัดลอกช่วงขององค์ประกอบจากอาร์เรย์หนึ่งไปยังอีกอาร์เรย์
  • ค้นหาอาร์เรย์สำหรับค่าเฉพาะตามดัชนี (การค้นหาแบบไบนารี)
  • เปรียบเทียบกับอาร์เรย์เพื่อตรวจสอบความเท่าเทียมกันโดยใช้วิธีการเท่ากับ
  • ใช้วิธีการเติมเพื่อเติมอาร์เรย์เพื่อวางค่าเฉพาะที่ดัชนี
  • การเรียงลำดับอาร์เรย์โดยใช้วิธีการเรียงลำดับ

การสร้างอาร์เรย์โดยใช้วัตถุที่ผู้ใช้กำหนดเอง

ใน java เรายังสามารถสร้างออบเจ็กต์ที่ผู้ใช้กำหนดเองได้เช่นเดียวกับการสร้างอาร์เรย์ของสตริงจำนวนเต็มและอื่น ๆ นี่คือตัวอย่างของวิธีที่เราสามารถสร้างอ็อบเจ็กต์อาร์เรย์ของนักเรียนและเริ่มต้นอ็อบเจ็กต์อาร์เรย์

public class ArrayDemo5 {

  public static void main(String[] args) {
    Student[] s = new Student[2];
    s[0] = new Student(111,"Ajit");
    s[1] = new Student(112,"Biju");
  }

}
 class Student{
  public int rollno;
  public String name;
  public Student(int rno,String n) {
    rollno = rno;
    name = n;
  }
}

สรุป

บทช่วยสอนนี้ให้คำอธิบายโดยละเอียดเกี่ยวกับ Arrays Class ใน Java ประเภทของอาร์เรย์ใน Java ประกาศสร้างและเริ่มต้นอาร์เรย์พร้อมภาพประกอบต่างๆ

การอ้างอิง