Array declaration and initialization in Java - Time & Space Complexity
When we create and fill an array, it takes some time depending on how many items we add.
We want to know how the time needed grows as the array gets bigger.
Analyze the time complexity of the following code snippet.
int[] numbers = new int[5];
for (int i = 0; i < numbers.length; i++) {
numbers[i] = i * 2;
}
This code creates an array of 5 integers and fills it with values by doubling the index.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: The for-loop that assigns values to each array element.
- How many times: It runs once for each element in the array, so 5 times here.
As the array size grows, the number of assignments grows the same way.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 assignments |
| 100 | 100 assignments |
| 1000 | 1000 assignments |
Pattern observation: The time grows directly with the number of elements. Double the elements, double the work.
Time Complexity: O(n)
This means the time to fill the array grows in a straight line with the number of items.
[X] Wrong: "Creating an array is instant and does not depend on size."
[OK] Correct: While declaring an array reserves space quickly, initializing each element takes time that grows with the array size.
Understanding how array initialization time grows helps you explain performance clearly and shows you know how data structures work under the hood.
"What if we initialize the array with a fixed value instead of computing each element? How would the time complexity change?"
Practice
Solution
Step 1: Understand Java array declaration syntax
In Java, arrays are declared by specifying the type followed by square brackets and the variable name.Step 2: Check each option for correct syntax
int[] numbers; usesint[] numbers;which is the correct syntax. Other options misuse keywords or syntax.Final Answer:
int[] numbers; -> Option AQuick Check:
Correct array declaration = int[] numbers; [OK]
- Using 'array' keyword which doesn't exist in Java
- Assigning new array without specifying size or values
- Placing brackets incorrectly
Solution
Step 1: Understand array initialization with size
To create an array of fixed size, usenew type[size]syntax.Step 2: Validate each option
int[] arr = new int[5]; correctly declares and initializes an integer array of size 5. Others have syntax errors or missing size.Final Answer:
int[] arr = new int[5]; -> Option DQuick Check:
Array initialization with size = new int[5] [OK]
- Missing square brackets in declaration
- Not specifying size when using new
- Using parentheses instead of brackets
int[] nums = {1, 2, 3, 4};
System.out.println(nums[2]);Solution
Step 1: Understand array indexing in Java
Arrays start at index 0, so nums[0]=1, nums[1]=2, nums[2]=3, nums[3]=4.Step 2: Identify the printed element
The code prints nums[2], which is the third element, value 3.Final Answer:
3 -> Option CQuick Check:
Index 2 value = 3 [OK]
- Confusing index 2 with the second element
- Off-by-one errors in indexing
- Misreading array initialization
int arr[5];
Solution
Step 1: Understand Java array declaration rules
In Java, you cannot specify the size inside square brackets during declaration without initialization.Step 2: Analyze the given code
int arr[5];tries to declare an array with size 5 but does not initialize it, which is invalid syntax.Final Answer:
Array size cannot be specified in declaration without initialization -> Option AQuick Check:
Size only with new keyword = correct [OK]
- Trying to declare size in brackets without new
- Confusing Java with C/C++ array syntax
- Forgetting to initialize array after declaration
Solution
Step 1: Understand array initialization with values
Java allows two ways to initialize arrays with values: shorthand without new keyword only at declaration, or with new keyword and braces.Step 2: Check each option
String[] fruits = new String[]{"apple", "banana", "cherry"};is correct. Other options misuse thenewkeyword by missing brackets after the type, specifying size with initializer list (invalid syntax), or missing array declaration brackets.Final Answer:
String[] fruits = new String[]{"apple", "banana", "cherry"}; -> Option BQuick Check:
Use new Type[]{values} for inline initialization [OK]
- Mixing shorthand and new keyword incorrectly
- Missing square brackets in declaration
- Assigning array values without brackets
Ready to prove it?
Pass the test and this pattern moves unknown
