Java配列:複数の要素を効率的に処理する

目次

  1. インデックスを使用した要素のアクセス
  2. 拡張forループを使用した配列の処理
  3. Java 8以降のStream APIを使用した処理
  4. メソッドを使った配列の処理
  5. 二次元配列の効率的な処理

1. インデックスを使用した要素のアクセス

配列内の要素にアクセスする際には、インデックスを使用します。配列のインデックスは0から始まることに注意してください。以下はインデックスを使用して要素にアクセスするコード例です。

public class ArrayAccessExample {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        for (int i = 0; i < numbers.length; i++) {
            System.out.println("Element at index " + i + ": " + numbers[i]);
        }
    }
}

2. 拡張forループを使用した配列の処理

拡張forループは、配列の要素を簡潔に処理する方法です。以下は拡張forループを使用して配列の要素を処理するコード例です。

public class EnhancedForLoopExample {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        for (int number : numbers) {
            System.out.println("Number: " + number);
        }
    }
}

3. Java 8以降のStream APIを使用した処理

Java 8以降では、Stream APIを使用して配列の要素を効率的に処理できます。Stream APIを使うと、フィルタリングやマッピング、リダクションなどの操作が容易に行えます。以下はStream APIを使用したコード例です。

import java.util.Arrays;

public class StreamAPIExample {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        // 配列をストリームに変換してフィルタリングと合計計算を行う
        int sum = Arrays.stream(numbers)
                       .filter(n -> n % 2 == 0)
                       .sum();

        System.out.println("Sum of even numbers: " + sum);
    }
}

4. メソッドを使った配列の処理

複数の箇所で同じ処理を行う場合には、メソッドを使用してコードの重複を避けることができます。以下はメソッドを使った配列の処理のコード例です。

public class ArrayProcessingWithMethods {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        printArrayElements(numbers);
    }

    public static void printArrayElements(int[] arr) {
        for (int element : arr) {
            System.out.println("Element: " + element);
        }
    }
}

5. 二次元配列の効率的な処理

二次元配列は、行と列からなる配列です。効率的に処理するために、ネストしたループを使用して要素にアクセスします。以下は二次元配列を処理するコード例です。

public class TwoDimensionalArrayExample {
    public static void main(String[] args) {
        int[][] matrix = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };

        for (int row = 0; row < matrix.length; row++) {
            for (int col = 0; col < matrix[row].length; col++) {
                System.out.println("Element at row " + row + " and column " + col + ": " + matrix[row][col]);
            }
        }
    }
}