Lesson Completion
Back to course

Array Traversal: Looping Patterns and Techniques

Beginner
15 minutesā˜…4.5Java

1. The Hook (The "Byte-Sized" Intro)

  • In a Nutshell: Array traversal visits each element systematically.
  • Four patterns: for loop (index access), enhanced for (read-only), while loop, and reverse iteration.

When YouTube renders your subscription feed: for (Video v : subscriptions) display thumbnail. Every item, one by one!


2. Conceptual Clarity

šŸ’” Traversal Patterns

graph LR Traversal["Traversal Types"] --> Forward["Forward<br/>0 → length-1"] Traversal --> Backward["Backward<br/>length-1 → 0"] Traversal --> ForEach["For-each<br/>Read-only"] Traversal --> While["While<br/>Conditional"]

3. Interactive & Applied Code

java
public class ArrayTraversal { public static void main(String[] args) { int[] nums = {10, 20, 30, 40, 50}; // === FORWARD TRAVERSAL (for loop) === System.out.println("Forward:"); for (int i = 0; i < nums.length; i++) { System.out.println("Index " + i + ": " + nums[i]); } // === BACKWARD TRAVERSAL === System.out.println("Backward:"); for (int i = nums.length - 1; i >= 0; i--) { System.out.println("Index " + i + ": " + nums[i]); } // === ENHANCED FOR LOOP (read-only) === System.out.println("For-each:"); for (int num : nums) { System.out.println(num); } // === WHILE LOOP === int i = 0; while (i < nums.length) { System.out.println(nums[i]); i++; } // === 2D ARRAY TRAVERSAL === int[][] matrix = {{1, 2, 3}, {4, 5, 6}}; // Row-by-row for (int row = 0; row < matrix.length; row++) { for (int col = 0; col < matrix[row].length; col++) { System.out.print(matrix[row][col] + " "); } System.out.println(); } // Enhanced for (2D) for (int[] row : matrix) { for (int val : row) { System.out.print(val + " "); } System.out.println(); } // === SKIP EVERY OTHER (Step 2) === for (int j = 0; j < nums.length; j += 2) { System.out.println(nums[j]); // 10, 30, 50 } // === EARLY EXIT (break) === for (int num : nums) { if (num == 30) break; // Stop at 30 System.out.println(num); } // === SKIP CERTAIN (continue) === for (int num : nums) { if (num == 30) continue; // Skip 30 System.out.println(num); } } }

āš ļø Common Mistakes

Mistake #1: Off-by-one in reverse

java
for (int i = arr.length; i >= 0; i--) // āŒ Starts out of bounds! // Fix: i = arr.length - 1

Mistake #2: Modifying array in for-each

java
for (int num : nums) { num = num * 2; // āŒ Modifies copy, not array! } // Use index-based for modification

4. The "Interview Corner"

šŸ† Q1: "When to use for vs for-each?" Answer: for: need index or modification. for-each: read-only, cleaner.

šŸ† Q2: "Traverse 2D array in spiral order?" Answer: Use four boundaries (top, bottom, left, right) and shrink after each pass. Common FAANG question!


šŸŽ“ Key Takeaways

āœ… Forward: for (int i = 0; i < length; i++)
āœ… Backward: for (int i = length-1; i >= 0; i--)
āœ… For-each: read-only, cleaner syntax
āœ… break/continue work in traversal
āœ… 2D: nested loops for rows and columns

Topics Covered

Java FundamentalsArrays

Tags

#java#arrays#data-structures#multidimensional-arrays#beginner-friendly

Last Updated

2025-02-01