Javaでint配列を反転するにはどうすればいいですか? 質問する

Javaでint配列を反転するにはどうすればいいですか? 質問する

Java で int 配列を反転しようとしています。

このメソッドは配列を反転しません。

for(int i = 0; i < validData.length; i++)
{
    int temp = validData[i];
    validData[i] = validData[validData.length - i - 1];
    validData[validData.length - i - 1] = temp;
}

何が問題なのですか?

ベストアンサー1

int 配列を逆にするには、次のように中間点に達するまで項目を入れ替えます。

for(int i = 0; i < validData.length / 2; i++)
{
    int temp = validData[i];
    validData[i] = validData[validData.length - i - 1];
    validData[validData.length - i - 1] = temp;
}

あなたが行っている方法では、各要素を 2 回交換するので、結果は最初のリストと同じになります。

おすすめ記事