java - java中是否有任何函数可以在索引 i 和索引 j (两者都包含)之间的数组中执行循环左移

标签 java arrays function

我想在索引 i 和索引 j(两者都包含)之间的数组中执行循环左移。

例如:考虑数组 A,例如,

int[] A = {1, 2, 3, 4, 5};

如果我想在给定数组 A 中的 0(索引 i)和 2(索引 j)之间执行循环左移,则输出为:

A = {2, 3, 1, 4, 5}

java中有没有内置函数可以执行此类操作。

我不是问如何将数组循环左移 n 次。我的问题是循环左移数组中的一些元素,正如我通过示例所示的那样。

最佳答案

是的,有一个内置函数: Collections.rotate

例如,

Collections.rotate(Arrays.asList(A).subList(i, j+1), -1);

更新:

这不能直接用于原始数组,因为 Arrays.asList不为你打拳击。您需要创建一个 Integer[]List<Integer>不知何故,这没有非常优雅的方法。

关于java - java中是否有任何函数可以在索引 i 和索引 j (两者都包含)之间的数组中执行循环左移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55146987/

相关文章:

java - Xpath div 在每次新构建后都会更改

c++ - numpy 怎么这么快?

c++ - g++ 在 *expected* 错误消息中给我奇怪的函数调用

javascript - 如何使用两个参数创建 item.split 方法?

php - 为什么我的 PHP 函数没有产生任何输出?

function - Go - 将数组传递给接收参数列表的函数

java - 什么是解析/解析?

java - 如何在java中查找包含正则表达式的单词

java - 使用 Java 将 Google 日历数据(通过 API v3)导入 Google App Engine

javascript - 合并 2 个数组对象 typescript