Java学习,List移动元素

Java实现List中元素的循环移动(即将列表中的元素向右或向左移动指定数量的位置),可以使用多种方法。

List元素移动指定位置:

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

public class RotateList {

public static void main(String[] args) {

List<Integer> list = new ArrayList<>();

// 初始化列表

Collections.addAll(list, 1, 2, 3, 4, 5, 6, 7);

System.out.println("原始列表: " + list);

// 循环移动位置(向右移动3个位置)

int rotateCount = 3;

List<Integer> rotatedList = rotateRight(list, rotateCount);

System.out.println("向右移动" + rotateCount + "个位置后的列表: " + rotatedList);

}

/**

* 将列表元素向右循环移动指定的位置

*

* @param list 原始列表

* @param rotateCount 要移动的位置数

* @return 移动后的新列表

*/

public static List<Integer> rotateRight(List<Integer> list, int rotateCount) {

if (list == null || list.isEmpty() || rotateCount == 0) {

return new ArrayList<>(list);

}

int size = list.size();

rotateCount = rotateCount % size; // 防止移动超过列表长度

List<Integer> rotatedList = new ArrayList<>(size);

// 将后部分元素移到新列表的前面

for (int i = size - rotateCount; i < size; i++) {

rotatedList.add(list.get(i));

}

// 将前部分元素移到新列表的后面

for (int i = 0; i < size - rotateCount; i++) {

rotatedList.add(list.get(i));

}

return rotatedList;

}

}

Collections的rotate() 循环移动元素:

import java.util.*;

public class Main {

public static void main(String[] args) {

List list = Arrays.asList("one Two three Four five six".split(" "));

System.out.println("List :"+list);

Collections.rotate(list, 3);

System.out.println("rotate: " + list);

}

}

相关推荐
zh_xuan1 分钟前
kotlin 类继承的语法2
开发语言·kotlin
兮动人3 分钟前
Maven指定加载的类
java·maven·maven指定加载的类
matlabgoodboy12 分钟前
程序代做python代编程matlab定制代码编写C++代写plc设计java帮做
c++·python·matlab
Freshman小白17 分钟前
《智能制造系统》网课答案
学习·答案·网课答案
DYS_房东的猫28 分钟前
《 C++ 零基础入门教程》第6章:模板与 STL 算法 —— 写一次,用万次
开发语言·c++·算法
诗意地回家36 分钟前
淘宝小游戏反编译
开发语言·前端·javascript
副露のmagic39 分钟前
更弱智的算法学习 day34
python·学习
wangkay8842 分钟前
【Java 转运营】Day04:抖音新号起号前准备全指南
java·开发语言·新媒体运营
点云SLAM42 分钟前
C++ 静态初始化顺序问题(SIOF)和SLAM / ROS 工程实战问题
开发语言·c++·slam·静态初始化顺序问题·工程实战技术·c++static 关键字
D3bugRealm43 分钟前
MATLAB解决物理问题:从基础运动学到进阶力学的实战指南
开发语言·其他·matlab