อะเรย์และคอลเล็กชั่น ของภาษาjava

อะเรย์ในภาษาจาวาคือตัวแปรที่เป็นชนิดข้อมูลแบบอ้างอิง ที่สามารถใช้เก็บข้อมูลชนิดเดียวกันได้หลายค่า
ตัวอย่าง
    -ตัวแปรอะเรย์ที่ชื่อ 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