For-each Loop
วัตถุประสงค์
ลูป for ได้รับการเพิ่มขีดความสามารถมาตั้งแต่จาวา ๕ ทำให้การวนรอบของอารเรย์ และคอลเลคชั่นชนิดอื่น ๆ ทำได้สะดวกสบายขึ้นอีก สำหรับ for ลักษณะใหม่นี้เราเรียกว่า enhanced for หรือ for-each (ในภาษา python และภาษาตัวใหม่ ๆ ก็มีเหมือนกันและมันก็ถูกเรียกว่า for each) หรือบางทีถูกเรียกว่าลูป for-inรูปแบบมาตรฐาน
ตารางข้างล่างเป็นตัวอย่างการใช้งานในรูปแบบของอารเรย์ และ iterator ซึ่งทั้งสองกรณีจะต้องมีตัวแปรเพิ่มอีกหนึ่งตัวใช้แทน index ของลูป for ชนิดเดิม
For-each loop | Equivalent for loop |
---|---|
for (type var : arr) { | for (int i = 0; i < arr.length; i++) { |
for (type var : coll) { | for (Iterator<type> iter = coll.iterator(); iter.hasNext(); ) { |
ตัวอย่าง การรวมค่าทั้งหมดในอารเรย์
นี่คือตัวอย่างลูปทั้งชนิด for-each และ for ลูปปกติ
double[] ar = {1.2, 3.0, 0.8};
int sum = 0;
for (double d : ar) { // d gets successively each value in ar.
sum += d;
}
double[] ar = {1.2, 3.0, 0.8};
int sum = 0;
for (int i = 0; i <> 3; i++) {
sum += ar[i];
}
ที่มา http://www.leepoint.net/notes-java/flow/loops/foreach.html
ไม่มีความคิดเห็น:
แสดงความคิดเห็น