อะเรย์ในภาษาจาวาคือตัวแปรที่เป็นชนิดข้อมูลแบบอ้างอิง ที่สามารถใช้เก็บข้อมูลชนิดเดียวกันได้หลายค่า
ตัวอย่าง
-ตัวแปรอะเรย์ที่ชื่อ ch
-เก็บข้อมูลชนิด char
-มีจำนวนสมาชิก 5 ตัว
-หมายเลขสมาชิกตั้งแต่ 0 ถึง 4
-ตัวแปรอะเรย์ที่ชื่อ ch
-เก็บข้อมูลชนิด char
-มีจำนวนสมาชิก 5 ตัว
-หมายเลขสมาชิกตั้งแต่ 0 ถึง 4
ประเภทของอะเรย์
ภาษาจาวาแบ่งตัวแปรอะเรย์เป็นสองประเภทคือ อะเรย์ของข้อมูลชนิดพื้นฐาน และอะเรย์ของข้อมูลชนิดคลาส
อะเรย์ของข้อมูลชนิดพื้นฐานคืออะเรย์ที่สามารถใช้เก็บข้อมูลที่มีชนิดข้อมูลแบบพื้นฐานชนิดใดชนิดหนึ่งได้หลายค่า เช่น อะเรย์ของข้อมูลชนิด int อะเรย์ของข้อมูลชนิด boolean
อะเรย์ของข้อมูลชนิดคลาสคืออะเรย์ที่สามารถใช้เก็บข้อมูลที่เป็นออปเจ็คของคลาสใดๆได้หลายออปเจ็ค เช่นอะเรย์ของข้อมูลชนิด String
การประกาศตัวแปรอะเรย์
รูปแบบการประกาศตัวแปรอะเรย์ คล้ายกับการประกาศตัวแปรชนิดข้อมูลแบบอื่นๆ แต่ตัวแปรอะเรย์จะมีเครื่องหมาย [ ] อยู่ด้านหน้าหรือด้านหลัง
รูปแบบ
[<modifier>] dataType []variableName;
หรือ [<modifier>] dataType variableName[];
ตัวอย่าง
char []ch; หรือ char ch[];
Student []s; หรือ Student s[];
การสร้างอะเรย์ของข้อมูลชนิดพื้นฐาน
อะเรย์ในภาษาจาวาจะเป็นตัวแปรแบบอ้างอิงชนิดหนึ่ง (เช่นเดียวกับ ออปเจ็ค)
การสร้างอะเรย์จะสามารถทำได้โดยการเรียกใช้คำสั่ง new
รูปแบบ
variableName = new dataType[size];
ตัวอย่าง
ch = new char[5];
สำหรับการสร้างอะเรย์ของข้อมูลชนิดพื้นฐาน คำสั่ง new จะจองเนื้อที่ในหน่วยความจำสำหรับเก็บค่าของสมาชิกของอะเรย์ ส่วนตัวแปรอะเรย์จะเก็บตำแหน่งอ้างอิงไปยังสมาชิกของอะเรย์
การรวมคำสั่งประกาศและสร้างตัวแปร
เราสามารถที่จะรวมคำสั่งประกาศชื่อตัวแปรและคำสั่งการสร้างตัวแปร อะเรย์ไว้ในคำสั่งเดียวกันได้
รูปแบบ
dataType []variableName = new dataType[size];
หรือ dataType variableName[] = new dataType[size];
ตัวอย่างเช่น
int []x = new int[5];
การสร้างอะเรย์ของข้อมูลชนิดคลาส
สำหรับการสร้างอะเรย์ของข้อมูลชนิดคลาส คำสั่ง new จะจองเนื้อที่ในหน่วยความจำสำหรับเก็บค่าของสมาชิกของอะเรย์ ซึ่งจะเป็นเพียงแค่ตำแหน่งอ้างอิงเท่านั้น
ตัวอย่าง
Student []s;
s = new Student[3];
การสร้างออปเจ็คของคลาสให้กับสมาชิก
ดังนั้นจะต้องมีการเรียกใช้คำสั่ง new อีก เพื่อสร้างออปเจ็คของคลาสให้กับสมาชิกแต่ละตัวของอะเรย์
ตัวอย่าง
s[0] = new Student(“1111”,“Thana”,3.0);
s[1] = new Student(“2211”,“Somchai”,2.10);
s[2] = new Student(“3331”,“Supansa”,3.1);
การกำหนดค่าเริ่มต้นให้กับสมาชิกของอะเรย์
ค่าเริ่มต้นของสมาชิกของอะเรย์ จะถูกกำหนดให้โดยอัตโนมัติ ซึ่งจะมีค่าตามค่าเริ่มต้นของชนิดข้อมูลนั้นๆ เราสามารถสร้างอะเรย์พร้อมกับกำหนดค่าเริ่มต้นให้กับสมาชิกของอะเรย์เองได้
รูปแบบ
dataType []variableName = {value1,value2,..,valueN};
ตัวอย่าง
int []x = {4,3,5,1,8};
Student []s = {new Student("1111","Thana",3.0),
new Student("2211","Somchai",2.10),
new Student("3331","Supansa",3.1)};
อะเรย์หลายมิติ
เราสามารถที่จะประกาศอะเรย์มากกว่าหนึ่งมิติได้
กรณีของอะเรย์สองมิติ มีรูปแบบการประกาศตัวแปรดังนี้
[modifier] dataType [][]variableName;
หรือ [modifier] dataType variableName[][];
ตัวอย่าง
int [][]x;
รูปแบบการสร้างตัวแปรอะเรย์สองมิติเป็นดังนี้
variableName = new dataType[row][col];
ตัวอย่าง
x = new int[3][4];
อะเรย์สองมิติที่แต่ละแถวมีจำนวนคอลัมน์ต่างกัน
การสร้างอะเรย์สองมิติในภาษาจาวา ไม่จำเป็นที่จำนวนคอลัมน์ของแต่ละแถวจะต้องเท่ากัน
ตัวอย่าง
int [][]x = new int[3][];
x[0] = new int[4];
x[1] = new int[2];
x[2] = new int[3];
ตัวอย่างโปรแกรม
public class TwoDimensionArrays {
public static void main(String args[]) {
int x[][] = new int[3][];
x[0] = new int[4];
x[1] = new int[2];
x[2] = new int[3];
for(int i=0; i<x.length; i++) {
for(int j=0; j<x[i].length; j++) {
x[i][j] = (i+j)*2;
}
}
for(int i=0; i<x.length; i++) {
for(int j=0; j<x[i].length; j++) {
System.out.print(x[i][j]+" ");
}
System.out.println();
}
}
}
การหาขนาดของอะเรย์
ทุกอะเรย์ในภาษาจาวาจะมีคุณลักษณะที่ชื่อ length ซึ่งจะมีค่าเท่ากับจำนวนสมาชิกทั้งหมดของอะเรย์นั้น
ตัวอย่าง
int x[] = new int[3];
x.length มีค่าเท่ากับ 3
int x[][] = new int[3][4];
x.length มีค่าเท่ากับ 3
x[1].length มีค่าเท่ากับ 4