集合的循环移位:
public static ArrayList<String> arrayShift(ArrayList<String> tasks, int i):实现集合的移位,其中tasks为要进行移位操作的集合,i为要移多少位
import java.util.ArrayList;
public class ArrayShiftDemo {
public static void main(String[] args) {
//移位之前
ArrayList<String> tasks = new ArrayList<String>();
tasks.add("F15");
tasks.add("F16");
tasks.add("F17");
tasks.add("F18");
tasks.add("F19");
prin(tasks);
//移位之后
ArrayList<String> taskss = arrayShift(tasks,2);
if(taskss != null){
prin(taskss);
}
}
/**
* 对集合进行移位
* @param tasks 集合
* @param i 移的位数
* @return
*/
public static ArrayList<String> arrayShift(ArrayList<String> tasks, int i) {
ArrayList<String> taskss = new ArrayList<String>();
if(i<=tasks.size()){
for(int j=0; j<tasks.size(); j++){
if(j==tasks.size()-i){
for(int l=0; l<i;l++){
taskss.add(tasks.get(l));
}
}else if(j+i<tasks.size()){
taskss.add(tasks.get(j+i));
}
}
}else{
System.out.println("要移位的位数超过集合的长度!");
}
return taskss;
}
/**
* 输出集合
* @param tasks 集合
*/
public static void prin(ArrayList<String> tasks) {
if(tasks.size()>0){
for(int i=0; i<tasks.size()-1; i++){
System.out.print(tasks.get(i)+", ");
}
System.out.println(tasks.get(tasks.size()-1));
}else{
System.out.println("tasks为空");
}
}
}
运行结果:
F15, F16, F17, F18, F19
F17, F18, F19, F15, F16