如何在 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;
}

它有什么问题?

原文由 MichaelScott 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 445
2 个回答

要反转 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;
}

您这样做的方式是将每个元素交换两次,因此结果与初始列表相同。

原文由 3lectrologos 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 Commons.Lang ,您可以简单地使用

ArrayUtils.reverse(int[] array)

大多数时候,当它们解决您的问题时,坚持使用已经过单元测试和用户测试的易于使用的库会更快、更安全。

原文由 Manur 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题