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