【发布时间】:2010-10-14 01:01:11
【问题描述】:
在列表中重新排列元素的最佳方式是什么?我需要移动元素的能力来移动列表中的元素,在索引中后退或前进一步。我正在考虑获取项目的索引,将其添加到索引 -1 / +2 并删除旧参考。
有没有一种更快的方法来处理重新排列而不在过程中在列表中创建重复项。
【问题讨论】:
-
请举个例子。例如,有列表 ABCDEF,你想要什么?像ABCEDF(移动元素)或ABCEF(删除元素)之类的东西?为什么你写 -1 / +2 而不是 -1 / +1?
-
我有 +2 就好像你在你的例子中添加说'C'到 indexof(c)+1,你会得到 ABCCDEF 删除旧的 C 将把它带回 ABCDEF。放 +2 会给你 ABDCEF,删除旧值会给 ABDCEF。因此 +2 而不是 +1。但 Collections.swap 正是我想要的。