For Each Loop ในภาษา Java
บทความนี้เรามาดูวิธีการใช้ for-each กันครับ ซึ่ง for-each นั้นก็จะมีรูปแบบทั่ว ๆ ไป คือfor(type itr-var : iterableObj) statement-block
จากรูปแบบโค้ดจะเห็นว่าเราได้วนลูปใน iterableObj ซึ่ง iterableObj นั้นจะต้องเป็น array หรือว่าเป็น Object ที่ implements the new Iterable interface ด้วย
ถ้าเราลองไปดูใน Eclipse ก็จะมีคำอธิบายและรูปแบบโค้ดสำหรับ for-each ไว้ ตามรูปด้านล่าง
ตัวอย่างโค้ดที่ใช้ for-each
package info.doesystem.howto; public class DoesystemInfo { public static void main(String[] args) throws InterruptedException { int nums[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; for (int x : nums) { System.out.print(x); x = x * 10; System.out.print("[" + x + "] "); } System.out.println(); for (int x : nums) { System.out.print(x + " "); } } }
จากโค้ดจะเห็นว่าเราใช้ for-each ในการวนแต่ละตัวใน array มาดูอีกตัวอย่างเราใช้ enum มาวนโดยเรียก values() ซึ่งค่าที่ออกมาก็คือ array
package info.doesystem.howto; public class DoesystemInfo { enum NamingOfTheDays { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } public static void main(String[] args) throws InterruptedException { for (NamingOfTheDays name : NamingOfTheDays.values()) { System.out.println(name); } } }
for-each ใน Arraylist
ต่อไปลองมาดูวิธีการ for-each ใน List กันดูบ้าง วิธีการก็ตามตัวอย่างด้านล่างเลยpackage info.doesystem.howto; import java.util.ArrayList; import java.util.List; public class DoesystemInfo { public static void main(String[] args) throws InterruptedException { ListnameOfDay = new ArrayList<>(); nameOfDay.add("Sunday"); nameOfDay.add("Monday"); nameOfDay.add("Tuesday"); nameOfDay.add("Wednesday"); nameOfDay.add("Thursday"); nameOfDay.add("Friday"); nameOfDay.add("Saturday"); for (String name : nameOfDay) { System.out.println(name); } } }
เมื่อเราลองเข้าไปดูใน ArrayList จะเห็นว่ามีการ implements List อยุ่ด้วย และใน List ก็จะ extends Collection ใน Collection ก็จะมีการ extends Iterable อยู่ด้วย ตามรูปด้านล่าง
ดังนั้น แสดงว่า Collection จะสามารถใช้ foreach ได้ทุก Collection เพราะได้ extends Iterable
ไม่มีความคิดเห็น:
แสดงความคิดเห็น