Array คืออะไร?
array คือ วิธีการจัดเก็บข้อมูลหลายๆค่าไว้ในตัวแปรเดียว โดยข้อมูลนั้นจะต้องเป็นชนิดเดียวกัน วิธีที่เราจะเข้าถึงค่าในอาเรย์คือใช้ index ในการอ้างอิงถึงตำแหน่ง ให้ทุกคนจำไว้ว่าการนับตำแหน่งในคอมพิวเตอร์จะเริ่มจาก 0 เสมอ ในบทนี้ Matter Devs จะพูดถึงแค่อาเรย์ 2 มิติ เท่านั้น
การประกาศใช้ Array
การสร้างอาเรย์สามารถทำได้หลายวิธี วิธีแรกคือประกาศอาเรย์ก่อน แล้วค่อยกำหนดค่า
type[ ] arrayname = new type[size];
- type คือ ชนิดข้อมูล
- arrayname คือ ชื่อตัวแปรอาเรย์
- size คือ ขนาดของอาเรย์
ตัวอย่างเช่น…
public class singleArray{ public static void main(String[] args) { int[] number = new int[4]; number[0] = 1; number[1] = 2; number[2] = 3; number[3] = 4; } }
วิธีที่สองคือกำหนดค่าพร้อมกับประกาศอาเรย์
type[ ] arrayname = {สมาชิก,…};
วิธีนี้ไม่จำเป็นต้องระบุขนาดหรือจำนวนของสมาชิกก็ได้ ตัวอย่างเช่น…
public class singleArray2{ public static void main(String[] args) { String[] products = {"โคมไฟ","โต๊ะ","เก้าอี้"}; } }
การนับจำนวนสมาชิก
อาเรย์มีฟังชั่นสำหรับนับจำนวนสมาชิก โดยใช้คำสั่ง “arrayname.length” ตัวอย่างเช่น…
public class singleArray3{ public static void main(String[] args) { String[] fruits = {"apple", "orange", "mango", "banana", "peach"}; System.out.println(fruits.length); } } //output 5
ต่อมาเราจะทำการแสดงผลข้อมูลทั้งหมดในอาเรย์ โดยใช้คำสั่ง For loop และใช้ i เป็น index
public class singleArray3{ public static void main(String[] args) { String[] fruits = {"apple", "orange", "mango", "banana", "peach"}; System.out.println("มีสมาชิก "+ fruits.length + " จำนวน"); for(int i = 0; i < fruits.length; i++) { System.out.println("ตำแหน่ง["+ i + "] = " + fruits[i]); } } }
ผลลัพธ์คือ…
มีสมาชิก 5 จำนวน
ตำแหน่ง[0] = apple
ตำแหน่ง[1] = orange
ตำแหน่ง[2] = mango
ตำแหน่ง[3] = banana
ตำแหน่ง[4] = peach
การแสดงผลข้อมูลอีกวิธีหนึ่งที่ไม่ต้องใช้ index จะใช้ for-each loop สามารถทำได้ดังนี้
for(type ชื่อตัวแปร : arrayname) {
System.out.println(ชื่อตัวแปร);
}
ตัวอย่างการใช้งาน…
public class singleArray4{ public static void main(String[] args) { int[] number = {2,5,8,10}; for(int result : number){ System.out.println(result); } } }
ผลลัพธ์คือ…
2
5
8
10
Array 2 มิติ
อาเรย์สองมิตินั้นมีโครงสร้างเป็นแถว (แนวนอน) และคอลัมน์ (แนวตั้ง) เปรียบเสมือนกับ matrix ใช้เก็บข้อมูลที่มีรูปแบบคล้ายตาราง การประกาศอาเรย์สองมิติเป็นดังนี้
type[ ][ ] arrayname = new type[rowSize][columnSize];
ตัวอย่างการกำหนดค่าสมาชิกลงในอาร์เรย์สองมิติเช่น…
public class Array2D { public static void main(String[] args) { int[][] array = new int[2][2]; array[0][0] = 1; array[0][1] = 2; array[1][0] = 3; array[1][1] = 4; for(int i = 0; i < array.length; i++) { for(int j = 0; j < array[i].length; j++) { System.out.print(array[i][j]+ " "); } System.out.println(); } } }
ผลลัพธ์คือ…
1 2
3 4
หรือจะกำหนดค่าพร้อมประกาศอาเรย์ดังนี้
public class Array2Di { public static void main(String[] args) { String[][] products = { {"เก้าอี้","โต๊ะ","โคมไฟ"}, {"คีย์บอร์ด","เมาส์","แป้นพิมพ์"}, {"ครีม","โรลออน","สบู่"} }; System.out.println(products[0][2]); } } //output โคมไฟ
การเข้าถึงข้อมูลในอาเรย์สองมิติด้วย For loop จะทำคล้ายๆอาเรย์หนึ่งมิติ ตัวอย่างเช่น…
public class TwoDimensionArray{ public static void main(String[] args) { String[][] products = { {"เก้าอี้","โต๊ะ","โคมไฟ"}, {"คีย์บอร์ด","เมาส์","แป้นพิมพ์"}, {"ครีม","โรลออน","สบู่"} }; for(int i = 0; i < products.length; i++) { for(int j = 0; j < products.length; j++) { System.out.println("ตำแหน่ง[" + i + "][" + j + "] = " + products[i][j]); } } } }
ผลลัพธ์คือ…
ตำแหน่ง[0][0] = เก้าอี้
ตำแหน่ง[0][1] = โต๊ะ
ตำแหน่ง[0][2] = โคมไฟ
ตำแหน่ง[1][0] = คีย์บอร์ด
ตำแหน่ง[1][1] = เมาส์
ตำแหน่ง[1][2] = แป้นพิมพ์
ตำแหน่ง[2][0] = ครีม
ตำแหน่ง[2][1] = โรลออน
ตำแหน่ง[2][2] = สบู่