KH_WEB_CB_2026_01

KH_DSA_C_2026_01

KH_TT_CB_2026_01

KH_OOP_C_SHARP_2026_01

Java

🌸 `foreach` trong Java – Vòng lặp hiền lành, dễ thương nhất hệ mặt trời 🌸

bởi Phạm Xuân Hoài - 1 tháng 2, 2026

🌸 `foreach` trong Java – Vòng lặp hiền lành, dễ thương nhất hệ mặt trời 🌸

Có những ngày bạn chỉ muốn duyệt list cho nhanh, không muốn nghĩ nhiều về i, length, hay mấy lỗi lố tay IndexOutOfBoundsException

👉 Lúc này, foreach xuất hiện như một người bạn tốt bụng.


🧸 foreach là gì vậy?

foreach là vòng lặp giúp bạn đi qua từng phần tử trong mảng hoặc collection mà không cần quan tâm index.

Cú pháp nhìn là thấy hiền:

for (Type item : collection) {
    // làm gì đó với item
}

📌 Ý nghĩa đơn giản:

“Với mỗi item trong collection thì làm việc này”


🍭 Ví dụ dễ thương với mảng

int[] numbers = {1, 2, 3, 4, 5};

for (int n : numbers) {
    System.out.println(n);
}

✨ Không cần:

  • i
  • numbers.length
  • lo sai index

Chỉ cần đọc và dùng ❤️


🍰 Dùng với List cũng xinh luôn

List<String> names = List.of("An", "Bình", "Chi");

for (String name : names) {
    System.out.println("Hello " + name);
}

Cảm giác code:

“Ơ kìa, sao Java hôm nay dễ chịu vậy?” 😌


🌈 Khi nào nên dùng foreach?

Dùng foreach khi bạn:

✅ Chỉ đọc dữ liệu

✅ Muốn code gọn gàng

✅ Không cần biết vị trí phần tử

✅ Không xóa / thêm phần tử trong lúc duyệt

Ví dụ rất hợp:

for (User user : users) {
    user.showInfo();
}

⚠️ Những lúc foreach không vui nữa

❌ Cần index

// foreach không biết bạn đang đứng ở số mấy đâu nha

👉 Lúc này quay về for truyền thống cho chắc 😅


❌ Xóa phần tử trong lúc duyệt

for (String s : list) {
    list.remove(s); // boom 💥
}

👉 Dễ dính ConcurrentModificationException lắm đó!


❌ Muốn đổi giá trị mảng trực tiếp

for (int n : numbers) {
    n = n * 2; // không ai nghe bạn đâu 😭
}

n chỉ là bản sao thôi, mảng gốc vẫn y nguyên.


🐣 Sự thật nho nhỏ

  • foreach chỉ là cú pháp cho dễ đọc
  • Bên trong Java vẫn dùng Iterator hoặc index
  • Không phải phép thuật ✨ nhưng dùng rất sướng

💖 So sánh nhanh cho dễ nhớ

Tiêu chíforforeach
Gọn gàng
Có index
An toàn⚠️
Dễ thương🙂🥰

🎀 Kết lại nhẹ nhàng

foreach không phải để làm mọi thứ.

Nhưng khi bạn chỉ cần đọc – duyệt – xử lý nhẹ, thì:

💡 Cứ foreach mà dùng, đời sẽ bớt mệt hơn