假设我有以下内容:
['a', 'b', 'c', 'd', 'e', 'f', 'g']
Run Code Online (Sandbox Code Playgroud)
我必须将其更改为:
['a', 'b', 'f', 'c', 'd', 'e', 'g']
Run Code Online (Sandbox Code Playgroud)
最有效的方法是什么?
更新:我实际上需要移位元素,而不是交换.请注意上面我的示例的更改.
我不知道"有效"是指"以清晰/可读的方式",还是指你的表现.如果它是前者并且您想要就地进行替换,则可以使用[]列表的方便操作符:
def arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
arr[2, 5] = arr[5, 2]
assert arr == ['a', 'b', 'f', 'd', 'e', 'c', 'g']
Run Code Online (Sandbox Code Playgroud)
更新:问题不在于交换两个元素,而是将元素移动到另一个位置.要在适当的位置执行此操作,可以使用一些Java ArrayList方法,以便添加和删除给定位置的元素.我觉得这很可读:
def arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
arr.add(2, arr.remove(5))
assert arr == ['a', 'b', 'f', 'c', 'd', 'e', 'g']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
567 次 |
| 最近记录: |