重新排列列表中元素的最佳方法是什么?我需要能够移动元素来移动列表中的元素,在索引中向后或向前一步。我正在考虑获取项目的索引,将其添加到索引-1 / +2并删除旧的引用。
是否有更快的方法来处理重新排列而不在过程中的列表中创建重复项。
答案 0 :(得分:38)
使用JDK的交换方法
JDK的Collections类包含一个名为Collections.swap的方法。根据API文档,此方法允许您“交换指定列表中指定位置的元素。”
我建议使用此解决方案,这样您就不必从列表中删除元素,因此您不必滚动自己的交换方法。此外,看起来这个方法自Java 1.4发布以来就已存在,所以它应该适用于大多数现代JDK。