Làm thế nào để bạn lặp đi lặp lại trong Java?

Trong Java, vòng lặp for-each được sử dụng để lặp qua các phần tử của mảng và tập hợp [như ArrayList]. Nó còn được gọi là vòng lặp for nâng cao

cú pháp vòng lặp for-each

Cú pháp của vòng lặp cho từng Java là

for[dataType item : array] {
    ...
}

Nơi đây,

  • mảng - một mảng hoặc một bộ sưu tập
  • mục - mỗi mục của mảng/bộ sưu tập được gán cho biến này
  • dataType - kiểu dữ liệu của mảng/bộ sưu tập

ví dụ 1. In các phần tử mảng

// print array elements 

class Main {
  public static void main[String[] args] {
      
    // create an array
    int[] numbers = {3, 9, 5, -5};
    
    // for each loop 
    for [int number: numbers] {
      System.out.println[number];
    }
  }
}

đầu ra

3
9
5
-5

Ở đây, chúng tôi đã sử dụng vòng lặp for-each để in từng phần tử của mảng số một

  • Trong lần lặp đầu tiên, mục sẽ là 3
  • Trong lần lặp thứ hai, mục sẽ là 9
  • Trong lần lặp thứ ba, mục sẽ là 5
  • Trong lần lặp thứ tư, mục sẽ là -5

ví dụ 2. Tổng các phần tử mảng

// Calculate the sum of all elements of an array

class Main {
 public static void main[String[] args] {
  
   // an array of numbers
   int[] numbers = {3, 4, 5, -5, 0, 12};
   int sum = 0;

   // iterating through each element of the array 
   for [int number: numbers] {
     sum += number;
   }
  
   System.out.println["Sum = " + sum];
 }
}

đầu ra

Sum = 19

Trong chương trình trên, việc thực hiện vòng lặp

// print array elements 

class Main {
  public static void main[String[] args] {
      
    // create an array
    int[] numbers = {3, 9, 5, -5};
    
    // for each loop 
    for [int number: numbers] {
      System.out.println[number];
    }
  }
}
4 giống như

IterationVariables1number = 3
tổng = 0 + 3 = 32số = 4
tổng = 3 + 4 = 73số = 5
sum = 7 + 5 = 124number = -5
sum = 12 + [-5] = 75number = 0
sum = 7 + 0 = 76number = 12
sum = 7 + 12 = 19

Như chúng ta có thể thấy, chúng ta đã thêm từng phần tử của mảng số vào biến tổng trong mỗi lần lặp của vòng lặp

cho vòng lặp Vs cho mỗi vòng lặp

Hãy xem vòng lặp

// print array elements 

class Main {
  public static void main[String[] args] {
      
    // create an array
    int[] numbers = {3, 9, 5, -5};
    
    // for each loop 
    for [int number: numbers] {
      System.out.println[number];
    }
  }
}
0 khác với vòng lặp Java for thông thường như thế nào

1. Sử dụng vòng lặp

class Main {
 public static void main[String[] args] {
    
   char[] vowels = {'a', 'e', 'i', 'o', 'u'};

   // iterating through an array using a for loop
   for [int i = 0; i < vowels.length; ++ i] {
     System.out.println[vowels[i]];
   }
 }
}

đầu ra

a
e
i
o
u

2. Sử dụng vòng lặp for-each

________số 8

đầu ra

a
e
i
o
u

Ở đây, đầu ra của cả hai chương trình là như nhau. Tuy nhiên, vòng lặp for-each dễ viết và dễ hiểu hơn

Đây là lý do tại sao vòng lặp for-each được ưu tiên hơn vòng lặp for khi làm việc với mảng và tập hợp

Trong Java, Danh sách là một giao diện của khung Bộ sưu tập. Nó cung cấp cho chúng tôi để duy trì bộ sưu tập các đối tượng theo thứ tự. Các lớp triển khai của giao diện Danh sách là ArrayList, LinkedList, Stack và Vector. ArrayList và LinkedList được sử dụng rộng rãi trong Java. Trong phần này, chúng ta sẽ tìm hiểu cách lặp một Danh sách trong Java. Trong suốt phần này, chúng ta sẽ sử dụng ArrayList

Java cho vòng lặp

  1. Cơ bản cho vòng lặp
  2. Tăng cường cho vòng lặp

Trình lặp Java

Phương thức Java forEach

  1. Có thể lặp lại. cho mỗi[]
  2. Dòng. cho mỗi[]

Java cho vòng lặp

Cơ bản cho vòng lặp

Java cho vòng lặp là vòng lặp điều khiển luồng phổ biến nhất cho phép lặp. Vòng lặp for chứa một biến hoạt động như một số chỉ mục. Nó thực thi cho đến khi toàn bộ Danh sách không lặp lại

cú pháp

IterateListExample1. java

đầu ra

// print array elements 

class Main {
  public static void main[String[] args] {
      
    // create an array
    int[] numbers = {3, 9, 5, -5};
    
    // for each loop 
    for [int number: numbers] {
      System.out.println[number];
    }
  }
}
0

Tăng cường cho vòng lặp

Nó tương tự như vòng lặp for cơ bản. Nó nhỏ gọn, dễ dàng và dễ đọc. Nó được sử dụng rộng rãi để thực hiện duyệt qua Danh sách. Thật dễ dàng so với vòng lặp for cơ bản

cú pháp

IterateListExample2. java

đầu ra

// print array elements 

class Main {
  public static void main[String[] args] {
      
    // create an array
    int[] numbers = {3, 9, 5, -5};
    
    // for each loop 
    for [int number: numbers] {
      System.out.println[number];
    }
  }
}
0

Trình lặp Java

Trình lặp

Java cung cấp một Trình lặp giao diện để lặp lại các Bộ sưu tập, chẳng hạn như Danh sách, Bản đồ, v.v. Nó chứa hai phương thức chính next[] và hasNext[] cho phép chúng ta thực hiện một phép lặp trên Danh sách

tiếp theo[]. Phương thức next[] thực hiện lặp theo thứ tự chuyển tiếp. Nó trả về phần tử tiếp theo trong Danh sách. Nó ném NoSuchElementException nếu lần lặp không chứa phần tử tiếp theo trong Danh sách. Phương thức này có thể được gọi lặp đi lặp lại để duyệt qua danh sách hoặc xen kẽ với các lệnh gọi tới previous[] để quay lại

cú pháp

hasNext[]. Phương thức hasNext[] giúp chúng ta tìm phần tử cuối cùng của List. Nó kiểm tra xem Danh sách có phần tử tiếp theo hay không. Nếu phương thức hasNext[] lấy phần tử trong khi di chuyển theo hướng thuận, trả về true, ngược lại trả về false và kết thúc thực thi

cú pháp

IterateListExample3. java

đầu ra

// print array elements 

class Main {
  public static void main[String[] args] {
      
    // create an array
    int[] numbers = {3, 9, 5, -5};
    
    // for each loop 
    for [int number: numbers] {
      System.out.println[number];
    }
  }
}
0

Danh sáchIterator

ListIterator cũng là một giao diện thuộc về java. gói sử dụng. Nó mở rộng giao diện Iterator. Nó cho phép chúng tôi lặp lại Danh sách theo thứ tự tiến hoặc lùi. Lặp lại chuyển tiếp trên Danh sách cung cấp cùng một cơ chế, như được sử dụng bởi Iterator. Chúng tôi sử dụng phương thức next[] và hasNext[] của giao diện Iterator để lặp qua Danh sách

IterateListExample4. java

đầu ra

// print array elements 

class Main {
  public static void main[String[] args] {
      
    // create an array
    int[] numbers = {3, 9, 5, -5};
    
    // for each loop 
    for [int number: numbers] {
      System.out.println[number];
    }
  }
}
0

Phương thức Java forEach

Có thể lặp lại. cho mỗi[]

Giao diện Iterable cung cấp phương thức forEach[] để lặp qua Danh sách. Nó có sẵn kể từ Java 8. Nó thực hiện hành động được chỉ định cho từng phần tử cho đến khi tất cả các phần tử đã được xử lý hoặc hành động đưa ra một ngoại lệ. Nó cũng chấp nhận các biểu thức Lambda làm tham số

cú pháp

Việc triển khai mặc định hoạt động như

Nó chấp nhận hành động như một tham số không can thiệp [có nghĩa là nguồn dữ liệu hoàn toàn không bị sửa đổi trong quá trình thực thi đường dẫn luồng] để thực hiện trên các phần tử. Nó ném NullPulumException nếu hành động được chỉ định là null

Người tiêu dùng là một giao diện chức năng có thể được sử dụng làm mục tiêu gán cho biểu thức lambda hoặc tham chiếu phương thức. T là loại đầu vào cho hoạt động. Nó đại diện cho một hoạt động chấp nhận một đối số đầu vào duy nhất và không trả về kết quả nào

Phép lặp hoạt động như thế nào trong Java?

Iterator là một đối tượng có thể được sử dụng để lặp qua các bộ sưu tập, như ArrayList và HashSet . Nó được gọi là "trình lặp" vì "lặp" là thuật ngữ kỹ thuật cho vòng lặp. Để sử dụng Iterator, bạn phải nhập nó từ java. gói sử dụng.

Làm thế nào chúng ta có thể lặp lại danh sách trong Java?

Lấy một trình vòng lặp để bắt đầu bộ sưu tập bằng cách gọi phương thức iterator[] của bộ sưu tập. Thiết lập một vòng lặp thực hiện cuộc gọi đến hasNext[]. Lặp lại vòng lặp miễn là hasNext[] trả về true. Trong vòng lặp, lấy từng phần tử bằng cách gọi next[]

Các cách khác nhau để lặp qua một danh sách là gì?

Phương pháp. .
Sử dụng vòng lặp [Cách tiếp cận ngây thơ] Vòng lặp for. Đối với mỗi vòng lặp. Trong khi lặp lại
Sử dụng Iterator
Sử dụng trình lặp danh sách
Sử dụng biểu thức lambda
Sử dụng luồng. cho mỗi[]

Chúng ta có thể lặp lại tập hợp trong Java không?

Đặt phương thức iterator[] trong Java với các ví dụ . util. Đặt. phương thức iterator[] được sử dụng để trả về một trình vòng lặp có cùng phần tử với tập hợp . Các phần tử được trả về theo thứ tự ngẫu nhiên từ những gì có trong tập hợp.

Chủ Đề