首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java中反转int数组?

如何在Java中反转int数组?
EN

Stack Overflow用户
提问于 2010-01-26 14:09:18
回答 40查看 605.5K关注 0票数 270

我正在尝试在Java中反转一个整型数组。

此方法不反转数组。

代码语言:javascript
复制
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;
}

它有什么问题?

EN

回答 40

Stack Overflow用户

回答已采纳

发布于 2010-01-26 14:17:44

要反转int数组,您可以向上交换项目,直到到达中点,如下所示:

代码语言:javascript
复制
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;
}

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

票数 318
EN

Stack Overflow用户

发布于 2010-01-26 15:27:10

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

代码语言:javascript
复制
ArrayUtils.reverse(int[] array)

大多数情况下,坚持使用已经过单元测试和用户测试的容易获得的库来解决您的问题会更快,也更安全。

票数 318
EN

Stack Overflow用户

发布于 2016-04-08 16:57:15

代码语言:javascript
复制
Collections.reverse(Arrays.asList(yourArray));

java.util.Collections.reverse()可以颠倒java.util.Listjava.util.Arrays.asList()返回一个包含您传递给它的特定数组的列表,因此yourArray在调用Collections.reverse()之后是颠倒的。

成本只是一个列表对象的创建,不需要额外的库。

在Tarik和他们的评论员的回答中也提出了类似的解决方案,但我认为这个答案会更简洁,更容易解析。

票数 71
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2137755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档