Vòng lặp ArrayList trong java với ví dụ cụ thể

ArrayList là một danh sách các phần tử có cùng kiểu dữ liệu, thế nên việc duyệt vòng lặp trên một ArrayList là rất cần thiết.

Trong bài này mình sẽ giới thiệu các cách sau:

  • Vòng lặp for
  • Vòng lặp for cải tiến
  • Vòng lặp while
  • Foreach

Vòng lặp for

ArrayList chứa phần tử bắt đầu từ vị trí 0 và kết thúc ở vị trí size – 1, với size là số lượng phần tử của mảng. Từ đó chúng ta có thể dễ dàng áp dụng vòng lặp for trên ArrayList như sau. 

import java.util.*;

public class Main {

    public static void main(String[] args) {
        List<Integer> arrays = new ArrayList<>();
        arrays.add(1);
        arrays.add(2);
        arrays.add(3);
        int sum = 0;

        for (int i = 0; i < arrays.size(); i++) {
            sum += arrays.get(i);
        }
        System.out.println("Sum: " + sum);
   }
}

Output: Sum: 6

Vòng lặp for cải tiến

Nếu nhu cầu của chúng ta đơn thuần là duyệt hết tất cả các phần tử của ArrayList, lúc đó chúng ta thấy rằng biến đếm i thật là vô nghĩa. Chúng ta sẽ có vòng lặp cải tiến sau, không sử dụng biến đếm mà vẫn đảm bảo duyệt tất cả các phần tử từ vị trí 0 đến size – 1.

import java.util.*;

public class Main {

    public static void main(String[] args) {
        List<Integer> arrays = new ArrayList<>();
        arrays.add(1);
        arrays.add(2);
        arrays.add(3);
        int sum = 0;

        for(Integer item : arrays) {
            sum += item;
        }
        System.out.println("Sum: " + sum);
    }
}

Output: Sum: 6

Vòng lặp while

Vòng lặp while về cách hoạt tương tự như vòng lặp for. Mình sẽ tiến hành lấy ví dụ luôn nghen.

import java.util.*;

public class Main {

    public static void main(String[] args) {
        List<Integer> arrays = new ArrayList<>();
        arrays.add(1);
        arrays.add(2);
        arrays.add(3);
        int sum = 0;
        int index = 0;

        while (index < arrays.size()) {
            sum += arrays.get(index);
            index++;
        }
        System.out.println("Sum: " + sum);
    }
}

Output: Sum: 6

Vòng lặp forEach

Một chút lưu ý, đối với vòng lặp forEach, các biến được đặt trong biểu thức lambda phải là các biến final, đều này nghĩa rằng bạn sẽ không tính tổng sum như ở trên được đâu. Vòng lặp forEach sẽ hiệu quả trong việc duyệt ArrayList, thế nhưng nếu tính toán gì đấy thì forEach sẽ không đáp ứng được đâu nghen =).

import java.util.*;

public class Main {

    public static void main(String[] args) {
        List<Integer> arrays = new ArrayList<>();
        arrays.add(1);
        arrays.add(2);
        arrays.add(3);
 
        arrays.forEach(item -> System.out.println(item));
    }
}

Output: 1 2 3.

3 2 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x