package cn.wisenergy.common.utils;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;

/**
 * @ClassName ListUtil
 * @Description TODO
 * @Author meng
 * @Date 2020/3/4 15:58
 * @Version 1.0
 */
public class ListUtil {
    /**
     * 将该集合中的元素向右移动index位置
     * @param list
     * @param index
     * @return
     */
    public static <T> List<T> moveRight(List<T> list, int index){
        if(list == null || list.size()==0){
            return list;
        }
        Queue queue = new LinkedList<T>();
        //倒叙进队列
        for(int i = list.size()-1;i>=0;i--) {
            queue.offer(list.get(i));
        }
        for(int j = 0;j<index;j++) {
            //出队列
            T param = (T) queue.poll();
            //进队列
            queue.offer(param);
        }
        list = new ArrayList<T>();
        int len = queue.size();
        for(int i = 0;i<len;i++) {
            list.add(0,(T) queue.poll());
        }
        return list;
    }
}
