กำหนดค่าเริ่มต้นให้กับอาร์เรย์พร้อมกับการประกาศตัวแปร
คุณสามารถกำหนดค่าเริ่มต้นให้กับอาร์เรย์พร้อมกับการประกาศอาร์เรย์ได้ โดยเขียนดังนี้:
ตัวอย่างโค้ด
static void arraySample() { String[] s = {"apple", "orange", "banana"}; } System.out.println(s[1]);
ผลลัพธ์ที่ได้:
ส้มแมนดาริน
หาจำนวนองค์ประกอบในอาร์เรย์ ขนาด
หากต้องการทราบจำนวนองค์ประกอบในอาร์เรย์ ให้ใช้ `length` โปรดทราบว่า `length` เป็นฟิลด์ ไม่ใช่เมธอด
ตัวอย่างโค้ด
static void lengthSample() {
String[] s1 = {"りんご", "みかん", "ぶどう"};
String[] s2 = {};
System.out.println(s1.length);
System.out.println(s2.length);
}
ผลลัพธ์ที่ได้:
3 0
คัดลอกอาร์เรย์ – โคลน
หากคุณต้องการสร้างอาร์เรย์ที่เหมือนกับอาร์เรย์อื่นทุกประการ คำสั่ง `clone` จะมีประโยชน์
ตัวอย่างโค้ด
static void cloneSample() { String[] s1 = {"apple", "orange", "grape"}; String[] s2 = s1.clone(); System.out.println(s1[0] + ' ' + s1[1] + ' ' + s1[2]); System.out.println(s2[0] + ' ' + s2[1] + ' ' + s2[2]); }
ผลลัพธ์ที่ได้:
แอปเปิ้ล ส้ม องุ่น แอปเปิ้ล ส้ม องุ่น
คัดลอกอาร์เรย์ – ระบบ.อาร์เรย์คัดลอก
อาร์เรย์ใน Java จะมีขนาดคงที่ตามค่าเริ่มต้น หากต้องการเพิ่มขนาดของอาร์เรย์หลังจากสร้างแล้ว คุณต้องใช้เมธอด System.arraycopy
`arraycopy` ใช้สำหรับคัดลอกอาร์เรย์ เช่นเดียวกับ `clone` แต่ช่วยให้สามารถกำหนดค่าได้อย่างละเอียดกว่า `clone`
arraycopy(Object src, int srcPos, Object dest, int destPos, int length) src... อาร์เรย์ที่จะคัดลอก srcPos... ตำแหน่งเริ่มต้นที่จะคัดลอกจากอาร์เรย์ต้นทาง (src) dest... อาร์เรย์ปลายทาง destPos... ตำแหน่งเริ่มต้นที่จะคัดลอกจากอาร์เรย์ปลายทาง (dest) length... จำนวนองค์ประกอบที่จะคัดลอก
ตัวอย่างโค้ด
static void arraycopySample() { String[] s1 = {"apple", "orange", "grape"}; String[] s2 = new String[5]; System.arraycopy(s1, 0, s2, 0, 3); s2[3] = "banana"; s2[4] = "cherry"; System.out.println(s1[0] + " " + s1[1] + " " + s1[2]); System.out.println(s2[0] + " " + s2[1] + " " + s2[2] + " " + s2[3] + " " + s2[4]); }
ผลลัพธ์ที่ได้:
แอปเปิ้ล ส้ม องุ่น แอปเปิ้ล ส้ม องุ่น กล้วย เชอร์รี่
ArrayCopy ยังมีประโยชน์เมื่อต้องการรวมอาร์เรย์เข้าด้วยกันอีกด้วย
ตัวอย่างโค้ด
static void joinArraySample() {
String[] s1 = {"りんご", "みかん", "ぶどう"};
String[] s2 = {"ばなな", "さくらんぼ", "もも"};
int rLen = s1.length + s2.length;
String[] rStr = new String[rLen]; //s1とs2両方の長さ分の配列を初期化
System.arraycopy(s1, 0, rStr, 0, s1.length);
System.arraycopy(s2, 0, rStr, s1.length, s2.length); //コピー先配列の開始位置の設定がポイント
System.out.println(rStr[0] + " " + rStr[1] + " " + rStr[2] + " " + rStr[3] + " " + rStr[4] + " " + rStr[5]);
}
ผลลัพธ์ที่ได้:
แอปเปิ้ล ส้ม องุ่น กล้วย เชอร์รี่ พีช
สร้างอาร์เรย์หลายมิติ
การสร้างอาร์เรย์ซ้อนอาร์เรย์อื่น จะทำให้ได้อาร์เรย์หลายมิติ ซึ่งมีประโยชน์เมื่อต้องการจัดเก็บข้อมูลในรูปแบบตาราง เป็นต้น
ตัวอย่างโค้ด
static void twoDArraySample() { int[] a1 = {38, 84, 98}; int[] a2 = {32, 11, 56}; int[] a3 = {82, 77, 8}; int[][] twoDArray = {a1, a2, a3}; for (int[] a : twoDArray) { for (int score : a) { System.out.print(score + " "); } System.out.println(""); } }
ผลลัพธ์ที่ได้:
38 84 98 32 11 56 82 77 8
