【发布时间】:2013-04-04 12:28:28
【问题描述】:
如何交换ArrayList 的第一个和最后一个元素?
我知道如何交换数组的元素:设置一个临时值来存储第一个元素,让第一个元素等于最后一个元素,然后让最后一个元素等于存储的第一个元素。
int a = values[0];
int n = values.length;
values[0] = values[n-1];
values[n-1] = a;
那么对于ArrayList<String> 来说会是这样吗?
String a = words.get(0);
int n = words.size();
words.get(0) = words.get(n-1);
words.get(n-1) = a
【问题讨论】:
-
这个问题实际上是“我如何访问和更改
List的元素”? -
这个问题比标记为重复的问题更有针对性。
-
我同意。改变数组列表是另一回事,交换 2 个节点是另一回事。 “Collections.swap”是正确答案,但无法通过重复标记的答案获得此答案; “如何在 java 中更改 ArrayList 元素的值”。应该修改重复的问题,或者删除重复的标记。
-
有趣的是,两个问题都有不同的接受答案,但它们仍然被标记为重复。在重复的问题中,询问如何更新一个值,而不是交换 2 个节点。这个问题绝对需要主持人注意。很遗憾,我的旗帜被无缘无故拒绝了。
-
链接的问题根本不是重复的。 “Collections.swap”——自 1.2 以来的 Java 的一部分——在链接问题的页面上找不到答案。因为这是一个不同的问题!如果@Raedwald 等人认为是这样,他们可以解释一下这是怎么回事?撤消重复状态!