Bird
Raised Fist0
DSA Javaprogramming

Array Access and Update at Index in DSA Java

Choose your learning style10 modes available
Mental Model
An array is like a row of boxes where each box has a number. You can look inside any box or change what is inside by using its number.
Analogy: Imagine a row of mailboxes numbered from 0 to n-1. You can open any mailbox by its number to see or change the mail inside.
[0] -> [1] -> [2] -> [3] -> [4]
  5     10     15     20     25
Dry Run Walkthrough
Input: array: [5, 10, 15, 20, 25], update index 2 with value 99
Goal: Change the value at position 2 to 99 and show the updated array
Step 1: Access the element at index 2
[0] -> [1] -> [2↑] -> [3] -> [4]
  5     10     15     20     25
Why: We need to find the box at index 2 to update its value
Step 2: Replace the value 15 at index 2 with 99
[0] -> [1] -> [2↑] -> [3] -> [4]
  5     10     99     20     25
Why: Updating the value changes the content of the box at index 2
Step 3: Finish update and show the full array
[0] -> [1] -> [2] -> [3] -> [4]
  5     10     99     20     25
Why: The array now reflects the updated value at index 2
Result:
[0] -> [1] -> [2] -> [3] -> [4]
  5     10     99     20     25
Annotated Code
DSA Java
public class ArrayAccessUpdate {
    public static void main(String[] args) {
        int[] arr = {5, 10, 15, 20, 25};
        int indexToUpdate = 2;
        int newValue = 99;

        // Access the element at index 2
        int oldValue = arr[indexToUpdate];

        // Update the element at index 2
        arr[indexToUpdate] = newValue;

        // Print the updated array
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]);
            if (i != arr.length - 1) {
                System.out.print(" -> ");
            }
        }
        System.out.print(" -> null\n");
    }
}
int oldValue = arr[indexToUpdate];
Access the element at the given index to read its current value
arr[indexToUpdate] = newValue;
Update the element at the given index with the new value
for (int i = 0; i < arr.length; i++) { ... }
Traverse the array to print all elements in order
OutputSuccess
5 -> 10 -> 99 -> 20 -> 25 -> null
Complexity Analysis
Time: O(1) because accessing or updating an element by index in an array takes constant time
Space: O(1) because no extra space is needed beyond the array itself
vs Alternative: Compared to linked lists where access by index is O(n), arrays provide faster direct access and update
Edge Cases
Index is out of array bounds (negative or >= length)
Throws an ArrayIndexOutOfBoundsException to prevent invalid access
DSA Java
int oldValue = arr[indexToUpdate];
When to Use This Pattern
When you need to quickly read or change a value at a known position, use array access and update because it is fast and direct.
Common Mistakes
Mistake: Using an index outside the valid range of the array
Fix: Always check that the index is between 0 and array length minus one before accessing or updating
Summary
It lets you read or change the value stored at a specific position in an array.
Use it when you know the exact position of the data you want to work with.
The key is that arrays let you jump straight to any position instantly using the index.

Practice

(1/5)
1. What does the expression arr[2] do in a Java array named arr?
easy
A. Deletes the element at index 2
B. Adds a new element at index 2
C. Accesses the element at index 2 of the array
D. Returns the length of the array

Solution

  1. Step 1: Understand array indexing

    In Java, arrays use zero-based indexing, so arr[2] accesses the third element.
  2. Step 2: Identify the operation

    The expression reads the value stored at index 2 without modifying the array.
  3. Final Answer:

    Accesses the element at index 2 of the array -> Option C
  4. Quick Check:

    arr[2] means get element at index 2 [OK]
Hint: Remember arrays start at index 0, so arr[2] is third element [OK]
Common Mistakes:
  • Thinking arr[2] adds or deletes elements
  • Confusing index with array length
  • Assuming indexing starts at 1
2. Which of the following is the correct syntax to update the element at index 1 of an integer array nums to 10?
easy
A. nums(1) = 10;
B. nums[1] = 10;
C. nums{1} = 10;
D. nums.1 = 10;

Solution

  1. Step 1: Recall Java array update syntax

    In Java, array elements are accessed and updated using square brackets: array[index] = value;
  2. Step 2: Match correct syntax

    Only nums[1] = 10; uses correct brackets and assignment.
  3. Final Answer:

    nums[1] = 10; -> Option B
  4. Quick Check:

    Use square brackets for array index update [OK]
Hint: Use square brackets [] to access or update array elements [OK]
Common Mistakes:
  • Using parentheses () instead of brackets []
  • Using curly braces {} which are invalid for arrays
  • Trying to access with dot notation
3. What will be the output of the following Java code?
int[] arr = {5, 10, 15, 20};
arr[2] = 25;
System.out.println(arr[2]);
medium
A. 25
B. 15
C. 20
D. 10

Solution

  1. Step 1: Understand initial array values

    The array arr starts as [5, 10, 15, 20].
  2. Step 2: Update element at index 2

    We set arr[2] = 25; changing the third element from 15 to 25.
  3. Step 3: Print updated element

    System.out.println(arr[2]); prints the updated value 25.
  4. Final Answer:

    25 -> Option A
  5. Quick Check:

    arr[2] updated to 25, so output is 25 [OK]
Hint: Remember updates change the element before printing [OK]
Common Mistakes:
  • Printing old value before update
  • Confusing index 2 with index 3
  • Assuming array is unchanged
4. Identify the error in the following code snippet:
int[] numbers = {1, 2, 3};
numbers[3] = 4;
medium
A. ArrayIndexOutOfBoundsException at runtime
B. Syntax error due to missing semicolon
C. Compilation error: invalid array declaration
D. No error, code runs fine

Solution

  1. Step 1: Check array size and valid indices

    The array numbers has length 3, valid indices are 0, 1, 2.
  2. Step 2: Analyze index used for update

    Attempting numbers[3] = 4; accesses index 3, which is out of bounds.
  3. Step 3: Identify error type

    This causes a runtime ArrayIndexOutOfBoundsException.
  4. Final Answer:

    ArrayIndexOutOfBoundsException at runtime -> Option A
  5. Quick Check:

    Index 3 invalid for length 3 array [OK]
Hint: Array indices go from 0 to length-1 only [OK]
Common Mistakes:
  • Assuming index 3 is valid for length 3 array
  • Confusing compile-time and runtime errors
  • Ignoring zero-based indexing
5. Given the array int[] data = {2, 4, 6, 8, 10};, which code snippet correctly doubles the value at index 3 and then prints the entire array?
hard
A. data[4] = data[4] * 2; for(int i = 0; i < data.length; i++) { System.out.print(data[i] + " "); }
B. data[3] *= 2; for(int i = 1; i <= data.length; i++) { System.out.print(data[i] + " "); }
C. data[3] = data[3] + 2; for(int i = 0; i < data.length; i++) { System.out.print(data[i] + " "); }
D. data[3] = data[3] * 2; for(int i = 0; i < data.length; i++) { System.out.print(data[i] + " "); }

Solution

  1. Step 1: Identify correct index and operation

    Index 3 corresponds to the fourth element (value 8). Doubling means multiplying by 2.
  2. Step 2: Check loop correctness for printing

    The loop must run from 0 to data.length - 1 to print all elements without error.
  3. Step 3: Verify each option

    data[3] = data[3] * 2; for(int i = 0; i < data.length; i++) { System.out.print(data[i] + " "); } correctly doubles data[3] and loops from 0 to length-1. data[3] *= 2; for(int i = 1; i <= data.length; i++) { System.out.print(data[i] + " "); } uses invalid loop bounds and will cause runtime error. data[3] = data[3] + 2; for(int i = 0; i < data.length; i++) { System.out.print(data[i] + " "); } adds 2 instead of doubling. data[4] = data[4] * 2; for(int i = 0; i < data.length; i++) { System.out.print(data[i] + " "); } doubles wrong index (4).
  4. Final Answer:

    data[3] = data[3] * 2; for(int i = 0; i < data.length; i++) { System.out.print(data[i] + " "); } -> Option D
  5. Quick Check:

    Correct index and loop bounds ensure proper update and print [OK]
Hint: Use index 3 for 4th element; loop from 0 to length-1 [OK]
Common Mistakes:
  • Using wrong index for update
  • Incorrect loop bounds causing errors
  • Adding instead of multiplying
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard