วิธีพิมพ์อาร์เรย์ใน Java
อาร์เรย์คือลำดับที่เรียงลำดับของจำนวนรายการที่กำหนดไว้ล่วงหน้า ซึ่งมีชนิดข้อมูลเดียวกัน เป็นโครงสร้างข้อมูลพื้นฐานในภาษา Java
นักพัฒนา Java มักใช้งานอาร์เรย์เพื่อจัดเก็บข้อมูล ตัวอย่างเช่น อาร์เรย์อาจจัดเก็บชื่อผู้จัดจำหน่ายบาร์ซีเรียล 5 รายที่ซูเปอร์มาร์เก็ต หรืออีกอาร์เรย์หนึ่งอาจจัดเก็บชื่อสายพันธุ์ปลา 9 ชนิดที่พบในทะเลสาบท้องถิ่น
เมื่อทำงานกับอาร์เรย์ใน Java คุณอาจพบสถานการณ์ที่ต้องการพิมพ์เนื้อหาของอาร์เรย์ออกมา มีหลายวิธีในการทำเช่นนี้
บทช่วยสอนนี้จะอธิบายพร้อมตัวอย่าง 3 วิธีการหลักในการพิมพ์อาร์เรย์ใน Java เมื่ออ่านจบ คุณจะเชี่ยวชาญการพิมพ์อาร์เรย์ใน Java แล้ว
อาร์เรย์ใน Java
อาร์เรย์เป็นองค์ประกอบสำคัญในการเขียนโค้ด Java ช่วยให้จัดเก็บและเข้าถึงค่าจำนวนมากได้อย่างมีประสิทธิภาพ แทนที่จะประกาศตัวแปรหลายตัวเพื่อเก็บค่าชนิดข้อมูลเดียวกัน คุณสามารถประกาศอาร์เรย์เพียงตัวเดียวที่เก็บค่าทั้งหมดได้
ตัวอย่างอาร์เรย์ใน Java:
String[] birds; birds = new String[10];
ในโค้ดข้างต้น เราประกาศอาร์เรย์ชื่อ birds ที่เก็บค่าข้อความ (String) ได้ แล้วกำหนดขนาดของอาร์เรย์ไว้ 10 ค่า
ตอนนี้เราเข้าใจพื้นฐานของอาร์เรย์ Java แล้ว มาดูวิธีพิมพ์อาร์เรย์กัน
พิมพ์อาร์เรย์ด้วยไลบรารี Arrays
ไลบรารี java.util.Arrays ของ Java มีฟังก์ชันหลายอย่างสำหรับจัดการอาร์เรย์ หนึ่งในนั้นคือเมธอด toString() ใช้สำหรับแปลงเนื้อหาอาร์เรย์เป็นข้อความที่อ่านง่ายและพิมพ์ไปที่คอนโซล
หากต้องการใช้ไลบรารี Arrays ต้อง import ก่อน:
import java.util.Arrays;
หลัง import แล้ว ก็สามารถใช้ฟังก์ชันต่างๆ ได้
สมมติเรามีอาร์เรย์เก็บชื่อร้านแซนด์วิชโปรด 4 แห่ง ต้องการพิมพ์ออกมาเพื่อดู:
import java.util.Arrays;
class PrintSandwichShops {
public static void main(String[] args) {
String[] shops = {"Kat's Sandwiches", "Swanson Cafe", "Lakeland's Salads and Sandwiches", "Le Petit Sandwich"};
System.out.println(Arrays.toString(shops));
}
}
ผลลัพธ์:
[Kat's Sandwiches, Swanson Cafe, Lakeland's Salads and Sandwiches, Le Petit Sandwich]
อธิบายโค้ด: ประกาศอาร์เรย์ shops เก็บชื่อร้าน 4 แห่ง แล้วใช้ Arrays.toString() แปลงอาร์เรย์เป็น String แล้วพิมพ์ด้วย println()
พิมพ์อาร์เรย์ด้วย for-each Loop
ในการเขียนโปรแกรม ลูป for ใช้รันบล็อกโค้ดซ้ำจนเงื่อนไขเป็นจริง for-each (หรือ enhanced for loop) ใช้วนลูปเข้าถึงทุกสมาชิกในอาร์เรย์ ร่วมกับคำสั่งพิมพ์ จะพิมพ์ทุกค่าในอาร์เรย์ได้
สมมติเรามีอาร์เรย์เก็บชื่อนกที่เห็นตลอดปี ต้องการพิมพ์ทบทวน:
class PrintBirds {
public static void main(String[] args) {
String[] birds = {"Robin", "Chaffinch", "Starling", "Goldfinch", "Great Tit"};
for (String bird: birds) {
System.out.println(bird);
}
}
}
ผลลัพธ์:
Robin Chaffinch Starling Goldfinch Great Tit
อธิบาย: ประกาศอาร์เรย์ birds 5 ค่า ใช้ syntax for (String bird: birds) วนลูปทุกค่า แล้วพิมพ์แต่ละค่าด้วย System.out.println()
พิมพ์อาร์เรย์หลายมิติ (Multidimensional Array)
อาร์เรย์หลายมิติคืออาร์เรย์ที่มี 2 มิติ แสดงเป็นแถวและคอลัมน์ ใช้เมธอด Arrays.deepToString() จากไลบรารี Arrays เพื่อพิมพ์
สมมติมีอาร์เรย์ 2 มิติ เก็บหนังสือโปรดแยกตามแนวหนังสือ แถวแรก = หนังสือธุรกิจ แถวที่สอง = หนังสือพัฒนาตนเอง:
import java.util.Arrays;
class PrintBooks {
public static void main(String[] args) {
String[][] books = {
{"The Secrets of Sand Hill Road", "The Upstarts"},
{"Atomic Habits", "How to Win Friends and Influence People"}
};
System.out.println(Arrays.deepToString(books));
}
}
ผลลัพธ์:
[[The Secrets of Sand Hill Road, The Upstarts], [Atomic Habits, How to Win Friends and Influence People]]
อธิบาย: ประกาศอาร์เรย์ 2 มิติ books 2 แถว ใช้ Arrays.deepToString() แปลงเป็นข้อความอ่านง่าย แล้วพิมพ์ออกมา
สรุป
การพิมพ์อาร์เรย์เป็นการทำงานทั่วไปเมื่อเขียน Java บทช่วยสอนนี้อธิบาย 3 วิธีหลัก ได้แก่:
- for-each loop
Arrays.toString()สำหรับอาร์เรย์ 1 มิติArrays.deepToString()สำหรับอาร์หลายมิติ
ตอนนี้คุณพร้อมพิมพ์อาร์เรย์ใน Java อย่างมืออาชีพแล้ว!