Javaの拡張forループでインデックスを取得の方法

Javaでは、拡張forループ(for-eachループとも呼ばれる)は配列やコレクションに対してイテレートするための簡略化された構文です。これは本質的にイテレータを使用して要素をイテレートするため、直接的な添字アクセスを提供しません。

添字を取得する必要がある場合は、拡張構文 for ループの代わりに従来の for ループを使用できます。例:

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

for (int i = 0; i < nums.length; i++) {
    int num = nums[i];
    System.out.println("下标:" + i + ",元素:" + num);
}

これにより、iによってインデックスを取得できます。

他の方法として、java.util.List の indexOf() メソッドを使用することで、要素のインデックスを取得できます。たとえば、

List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5);

for (Integer num : nums) {
    int index = nums.indexOf(num);
    System.out.println("下标:" + index + ",元素:" + num);
}

ただし、indexOf()メソッドの時間計算量はO(n)であるため、大規模なコレクションではパフォーマンスの問題が発生する可能性があることに注意してください。

bannerAds