ไวยากรณ์
คัดลอกรหัสรหัสดังต่อไปนี้:
สำหรับ (ชื่อวัตถุวัตถุ: preArrayList (รายการวัตถุวัตถุ)) {}
ตัวอย่าง
คัดลอกรหัสรหัสดังต่อไปนี้:
แพ็คเกจ com.kuaff.jdk5;
นำเข้า java.util.*;
นำเข้า java.util.Collection;
Foreach ชั้นเรียนสาธารณะ
-
คอลเลกชันส่วนตัว c = null;
สตริงส่วนตัว [] เบลล์ = สตริงใหม่ [4];
สาธารณะForeach()
-
เบลล์[0] = "ซีซือ";
คนสวย[1] = "หวัง จ้าวจวิน";
คนสวย[2] = "เตียวชาน";
คนสวย[3] = "หยาง กุ้ยเฟย";
c = Arrays.asList(เบลล์);
-
testCollection โมฆะสาธารณะ ()
-
สำหรับ (สตริง b : c)
-
System.out.println("ครั้งหนึ่งเคยเป็นมนุษย์ที่ไม่มีใครเทียบได้:" + b);
-
-
โมฆะสาธารณะ testArray()
-
สำหรับ (สตริง b : เบลล์)
-
System.out.println("อดีตทิ้งชื่อไว้ในประวัติศาสตร์:" + b);
-
-
โมฆะสาธารณะคง main (String [] args)
-
Foreach แต่ละ = ใหม่ Foreach();
แต่ละ testCollection();
แต่ละ.testArray();
-
-
สำหรับทั้งประเภทคอลเลกชันและประเภทอาร์เรย์ เราสามารถเข้าถึงได้ผ่านไวยากรณ์ foreach ในตัวอย่างข้างต้น เราเคยเข้าถึงอาร์เรย์ตามลำดับ ซึ่งค่อนข้างยุ่งยาก:
คัดลอกรหัสรหัสดังต่อไปนี้:
สำหรับ (int i = 0; i < belle.length; i++)
-
สตริง b = คนสวย[i];
System.out.println("ครั้งหนึ่งเคยเป็นมนุษย์ที่ไม่มีใครเทียบได้:" + b);
-
ตอนนี้ขอเพียงคำสั่งง่ายๆ ต่อไปนี้:
คัดลอกรหัสรหัสดังต่อไปนี้:
สำหรับ (สตริง b : เบลล์)
-
System.out.println("อดีตทิ้งชื่อไว้ในประวัติศาสตร์:" + b);
-
ผลของการเข้าถึงคอลเลกชันจะชัดเจนยิ่งขึ้น ก่อนหน้านี้เราเข้าถึงรหัสคอลเลกชัน:
คัดลอกรหัสรหัสดังต่อไปนี้:
สำหรับ (ตัววนซ้ำ it = c.iterator(); it.hasNext();)
-
ชื่อสตริง = (สตริง) it.next();
System.out.println("ครั้งหนึ่งเคยเป็นมนุษย์ที่ไม่มีใครเทียบได้:" + ชื่อ);
-
ตอนนี้เราต้องการเพียงข้อความต่อไปนี้:
คัดลอกรหัสรหัสดังต่อไปนี้:
สำหรับ (สตริง b : c)
-
System.out.println("ครั้งหนึ่งเคยเป็นมนุษย์ที่ไม่มีใครเทียบได้:" + b);
-
Foreach ไม่ใช่ผู้มีอำนาจทุกอย่าง แต่ก็มีข้อบกพร่องดังต่อไปนี้:
ในโค้ดก่อนหน้านี้ เราสามารถดำเนินการลบผ่าน Iterator ได้
คัดลอกรหัสรหัสดังต่อไปนี้:
สำหรับ (ตัววนซ้ำ it = c.iterator(); it.hasNext();)
-
มันลบ()
-
อย่างไรก็ตาม ใน foreach เวอร์ชันปัจจุบัน เราไม่สามารถลบออบเจ็กต์ที่อยู่ในคอลเลกชันได้ คุณไม่สามารถแทนที่วัตถุได้เช่นกัน
นอกจากนี้ คุณไม่สามารถส่งต่อคอลเลกชันหลายรายการพร้อมกันได้ ดังนั้นเวลาเราเขียนโค้ดเราก็ต้องใช้งานตามสถานการณ์