【发布时间】:2018-09-25 00:28:48
【问题描述】:
我无法为家庭作业问题创建一种方法来反转 ArrayListin 到位,例如 1 2 3 4 5 将变为 5 4 3 2 1。我知道 Collections.reverse,但我不能使用它,我不能使用常规的 for 循环,它必须是一个“for each”循环,所以“for (String book: books) { ... }”。我知道使用常规 for 循环我将能够使用两个迭代变量 i 和 j 以便我可以交换第一个和最后一个索引的值来反转它,但是在每个循环中你不能去做。任何帮助,将不胜感激。谢谢。
【问题讨论】:
-
鉴于你所说的限制,我不得不问,这是作业吗?如果是的话,你应该提到这一点。家庭作业不会自动取消 SO 的资格,如果你说是,人们往往会给出更有帮助的提示来教你,而不是在没有解释的情况下放弃解决方案。
-
发布您到目前为止所做的代码(甚至是伪代码)。建议 #1:尝试使用常规 for 循环解决它,然后尝试查看如何将其转换为 for-each(不一样,我知道)。推荐#2:stackoverflow.com/questions/1098117/…
-
提示:您仍然可以在循环外声明
int计数器并将它们作为循环体的一部分递增。 -
提示:ArrayList.size() 为您提供数组列表中的对象数量
-
自从我发布我的第一条评论以来,有几个答案提出了这个问题:你是否必须就地反转列表?也就是说,鉴于
ArrayList al,你是需要反转al本身的顺序,或者您是否允许创建并返回与al顺序相反的 new 数组? 或您是否只需要打印原始数组的反转(如 bakero98 那样)?对问题和目标的明确陈述对于编写正确的事情必不可少。
标签: java arraylist methods reverse