การสร้างและการใช้ Array – พื้นฐานจาวา

array

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] = สบู่