For each trong Java và vòng lặp duyệt mảng và collection | Laptrinhcanban.com

For each trong Java và vòng lặp duyệt mảng và collection

Hướng dẫn cách sử dụng vòng lặp for each trong Java. Bạn sẽ học được khái niệm vòng lặp for each trong Java là gì, cũng như cách sử dụng for each để duyệt các mảng hoặc collection như Set, List v.vv trong Java sau bài học này.

Vòng lặp for each trong Java là gì

For each trong Java hay còn được gọi là enhanced for hoặc vòng lặp for mở rộng, là một cách viết đặc biệt của vòng lặp for, có tác dụng thực hiện các vòng lặp với từng phần tử trong các mảng và collection Set, List v.vv trong Java.

Vòng lặp for each được thêm vào từ Java 1.5, giúp việc duyệt các kiểu dữ liệu có nhiều phần tử như mảng hay collection trong Java một cách dễ dàng hơn. Điểm đặc biệt nhất của for each đó chính là chúng ta không cần sử dụng tới index của các phần tử trong mảng hay collection đó, mà vẫn có thể truy xuất tới các phần tử, cũng như là duyệt mảng hoặc collection trong Java.

Trong các ngôn ngữ lập trình khác cũng tồn tại vòng lặp for each mà chúng ta sẽ viết trực tiếp cụm từ for each trong cú pháp. Tuy nhiên trong Java, chúng ta sẽ không dùng dùng trực tiếp cụm từ for each khi viết lệnh, mà sẽ dùng cú pháp sau đây:

for ( type variable : collection){
    //Xử lý
}

Trong đó type là kiểu dữ liệu, variable là tên biến dùng để gán từng giá trị phần tử được lấy ra, và collection là tên collection hoặc mảng mà chúng ta cần làm việc.

Vòng lặp for each hoạt động theo nguyên tắc lấy từng phần tử từ collection, gán vào variable, rồi dùng variable để thực hiện các tính toán trong khối.

Ví dụ cụ thể, chúng ta có thể duyệt mảng trong Java bằng cách sử dụng tới for each như sau:

class Main{
public static void main(String[] args){
String pref[] = {"Ha Noi", "Thanh Hoa", "Nam Dinh"};

for (String str: pref){
System.out.println(str);
}
}
}

Kết quả:

Ha Noi
Thanh Hoa
Nam Dinh

Tất nhiên ngoài việc dùng for each, chúng ta cũng có thể sử dụng các vòng lặp thông dụng khác như for hay while chẳng hạn để thay thế. Ví dụ với vòng lặp for như sau:

class Main{
public static void main(String[] args){
String pref[] = {"Ha Noi", "Thanh Hoa", "Nam Dinh"};

for (int i = 0; i < pref.length; i++){
System.out.println(pref[i]);
}
}
}

Tuy nhiên như đã nói thì với vòng lặp for each, chúng ta không cần quan tâm tới index của phần tử, do đó việc truy xuất hay duyệt mảng, collection sẽ trở nên đơn giản và dễ dàng hơn.

Sử dụng for each với list trong Java

List cũng là một loại collection trong Java, và chúng ta cũng có thê sử dụng for each để duyệt list trong Java như ví dụ sau:

import java.util.Arrays;
import java.util.List;

public class Main {
public static void main(String args[])
{
List<Integer> list = Arrays.asList(1, 2, 3);

for (Integer e : list) {
System.out.println(e);
}
}
}

Kết quả:

1
2
3

Sử dụng for each với vector trong Java

Tương tự List, chúng ta cũng có thê sử dụng for each để duyệt vector trong Java như ví dụ sau:

import java.util.Vector;

public class Main {
public static void main(String args[])
{
Vector<Integer> vector = new Vector<>();
vector.add(1);
vector.add(2);
vector.add(3);

for (Integer e : vector) {
System.out.println(e);
}
}
}

Kết quả:

1
2
3

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về for each trong Java và vòng lặp với mảng và collection rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về Java trong các bài học tiếp theo.

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.