You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何实现ArrayList元素的前后移位与旋转?

Python 列表旋转实现(内置操作优先)

嘿,这个需求超容易搞定!用Python的切片操作(完全属于内置的便捷功能)就能实现,根本不用写复杂循环或者额外函数,简洁又高效。

向前旋转(左移一位)

你需要把 ['a', 'b', 'c', 'd'] 转成 ['b', 'c', 'd', 'a'],本质就是把第一个元素移到列表末尾。用切片的写法如下:

my_list = ['a', 'b', 'c', 'd']
forward_rotated = my_list[1:] + my_list[:1]
print(forward_rotated)  # 输出: ['b', 'c', 'd', 'a']

简单解释下:

  • my_list[1:] 取列表从索引1到末尾的所有元素 → ['b', 'c', 'd']
  • my_list[:1] 取列表从开头到索引1(不包含)的元素 → ['a']
  • 把这两部分拼接起来,就完成了向前旋转。

向后旋转(右移一位)

要得到 ['d', 'a', 'b', 'c'],就是把最后一个元素移到列表开头,同样用切片就能搞定:

my_list = ['a', 'b', 'c', 'd']
backward_rotated = my_list[-1:] + my_list[:-1]
print(backward_rotated)  # 输出: ['d', 'a', 'b', 'c']

这里的逻辑也很直观:

  • my_list[-1:] 用负索引直接取列表最后一个元素 → ['d']
  • my_list[:-1] 取列表除了最后一个元素的所有部分 → ['a', 'b', 'c']
  • 拼接后就实现了向后旋转。

扩展:支持旋转多位

如果以后需要旋转不止一位,比如左移2位、右移3位,这个方法也能直接扩展:

  • 左移n位:my_list[n:] + my_list[:n]
  • 右移n位:my_list[-n:] + my_list[:-n]

比如左移2位的话,['a','b','c','d'] 会变成 ['c','d','a','b'],亲测好用~

内容的提问来源于stack exchange,提问作者user9311180

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:01:57