Array Declaration and Initialization

Java: java // Declaration and initialization int[] numbers = new int; // Array of size 5, initialized to 0 String[] fruits = {"apple", "banana", "orange"}; // Direct initialization

TrackJava to Python Journey
Current SectionPython Basics
Progress7 of 19

1. Array Declaration and Initialization

Java:

// Declaration and initialization
int[] numbers = new int[5];  // Array of size 5, initialized to 0
String[] fruits = {"apple", "banana", "orange"};  // Direct initialization

// Fixed size
int[] arr = new int[10];  // Size must be specified

Python:

# Lists (dynamic arrays)
numbers = [0, 0, 0, 0, 0]  # Or simply: numbers = []
fruits = ["apple", "banana", "orange"]  # Direct initialization

# Dynamic size (grows as needed)
arr = []  # Empty list, can grow

2. Accessing Elements

Java:

int[] arr = {10, 20, 30, 40, 50};
System.out.println(arr[0]);  // 10
System.out.println(arr[2]);  // 30
arr[1] = 25;  // Modify element

Python:

arr = [10, 20, 30, 40, 50]
print(arr[0])  # 10
print(arr[2])  # 30
arr[1] = 25    # Modify element

3. Negative Indexing (Python Feature)

Python Only:

arr = [10, 20, 30, 40, 50]
print(arr[-1])   # 50 (last element)
print(arr[-2])   # 40 (second to last)
print(arr[-5])   # 10 (first element)

4. Array Length

Java:

int[] arr = {1, 2, 3, 4, 5};
System.out.println(arr.length);  // 5 (property, not a method)

Python:

arr = [1, 2, 3, 4, 5]
print(len(arr))  # 5 (function, not a property)

5. Adding and Removing Elements

Java:

// Arrays are fixed-size; use ArrayList for dynamic addition
ArrayList<Integer> list = new ArrayList<>();
list.add(10);
list.add(20);
list.add(30);

list.remove(1);  // Remove element at index 1
System.out.println(list);  // [10, 30]

Python:

# Lists are dynamic
arr = []
arr.append(10)      # Add to end
arr.append(20)
arr.append(30)

arr.remove(20)      # Remove by value
# or: arr.pop(1)    # Remove by index
print(arr)          # [10, 30]

6. Iterating Over Arrays

For Loop

Java:

int[] arr = {10, 20, 30};
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

Python:

arr = [10, 20, 30]
for i in range(len(arr)):
    print(arr[i])

# Or simpler (Python way):
for num in arr:
    print(num)

Enhanced For Loop

Java:

int[] arr = {10, 20, 30};
for (int num : arr) {
    System.out.println(num);
}

Python:

arr = [10, 20, 30]
for num in arr:
    print(num)

7. Slicing (Python Feature)

Python Only:

arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print(arr[1:5])        # [1, 2, 3, 4]  (indices 1 to 4, excludes 5)
print(arr[:3])         # [0, 1, 2]     (from start to index 2)
print(arr[5:])         # [5, 6, 7, 8, 9]  (from index 5 to end)
print(arr[-3:])        # [7, 8, 9]     (last 3 elements)
print(arr[::2])        # [0, 2, 4, 6, 8]  (every 2nd element)
print(arr[::-1])       # [9, 8, 7, ..., 0]  (reversed)

8. Multi-Dimensional Arrays

Java:

int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

System.out.println(matrix[0][1]);  // 2
System.out.println(matrix.length);  // 3 (rows)
System.out.println(matrix[0].length);  // 3 (columns)

Python:

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

print(matrix[0][1])     # 2
print(len(matrix))      # 3 (rows)
print(len(matrix[0]))   # 3 (columns)

9. Searching Elements

Java:

int[] arr = {10, 20, 30, 40, 50};

// Using Arrays utility
import java.util.Arrays;
int index = Arrays.binarySearch(arr, 30);  // Returns 2
System.out.println(index);

// Manual search
int target = 30;
for (int i = 0; i < arr.length; i++) {
    if (arr[i] == target) {
        System.out.println("Found at: " + i);
    }
}

Python:

arr = [10, 20, 30, 40, 50]

# Check if element exists
if 30 in arr:
    print("Found")

# Get index
index = arr.index(30)  # Returns 2
print(index)

# Count occurrences
count = arr.count(30)  # Returns 1

10. Sorting

Java:

int[] arr = {50, 20, 40, 10, 30};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));  // [10, 20, 30, 40, 50]

Python:

arr = [50, 20, 40, 10, 30]
arr.sort()            # In-place sort
print(arr)            # [10, 20, 30, 40, 50]

# Or create new sorted list
arr_sorted = sorted(arr)  # Returns new sorted list

11. List Comprehensions (Python Feature)

Python Only:

# Create array of squares
squares = [x**2 for x in range(5)]
print(squares)  # [0, 1, 4, 9, 16]

# Filtering
evens = [x for x in range(10) if x % 2 == 0]
print(evens)  # [0, 2, 4, 6, 8]

# Transformation
doubled = [x * 2 for x in [1, 2, 3, 4]]
print(doubled)  # [2, 4, 6, 8]

12. Common Array Operations

Java:

int[] arr = {1, 2, 3, 4, 5};

// Sum
int sum = 0;
for (int n : arr) sum += n;

// Average
double avg = (double) sum / arr.length;

// Max/Min
int max = Arrays.stream(arr).max().orElse(0);
int min = Arrays.stream(arr).min().orElse(0);

Python:

arr = [1, 2, 3, 4, 5]

# Sum
total = sum(arr)  # 15

# Average
avg = sum(arr) / len(arr)

# Max/Min
max_val = max(arr)  # 5
min_val = min(arr)  # 1

Summary Table

  • Declare fixed array

    • Java: int[] arr = new int;
    • Python: arr = * 5
  • Add element

    • Java: ArrayList.add()
    • Python: list.append()
  • Remove element

    • Java: ArrayList.remove()
    • Python: list.remove() or list.pop()
  • Get length

    • Java: arr.length
    • Python: len(arr)
  • Iterate

    • Java: for loop with index or enhanced
    • Python: for-in loop (Pythonic)
  • Slice

    • Java: Not built-in (use substring, etc.)
    • Python: arr[start:end:step]
  • Multi-dimensional

    • Java: int[][]
    • Python: List of lists
  • Sort

    • Java: Arrays.sort()
    • Python: arr.sort() or sorted(arr)
  • Search

    • Java: Arrays.binarySearch() or loop
    • Python: arr.index() or in operator
  • Sum/Max/Min

    • Java: Loops or Streams
    • Python: sum(), max(), min()
  • List comprehension

    • Java: Not available
    • Python: [expr for x in iterable]