如何将数组列表左移2个帖子?

时间:2019-03-15 07:38:20

标签: java

例如,有一个arraylist:40 8 6 3 7 5 2,我想将它们左移2个帖子。然后预期的输出是6 3 7 52。我已经编写了以下代码,但是什么也没产生

代码:     导入java.util.ArrayList;

List
  DomainObject
    Children
      Car A
      Car C
    Children
      Car F

2 个答案:

答案 0 :(得分:1)

您的leftSh方法返回一个空的List。假设您不希望您的方法修改原始List,则应将LeftshifedList初始化为原始List的副本。

您只需要删除索引0处的元素并重复post次。

public ArrayList<Integer> leftSh(int post, ArrayList<Integer> alist2)
{
    ArrayList<Integer> LeftshifedList = new ArrayList<>(alist2); // create a copy of input List
    for (int i = 1; i <= post; i++) { // remove the first post elements
        LeftshifedList.remove(0); 
    }
    return LeftshifedList;
}

答案 1 :(得分:1)

只需删除前两个元素。

public ArrayList<Integer> leftSh(int post, ArrayList<Integer>  alist2) {

  alist2.remove(0);
  alist2.remove(0);
  return alist2;
}