Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将数组列表左移2个位置?_Java - Fatal编程技术网

Java 如何将数组列表左移2个位置?

Java 如何将数组列表左移2个位置?,java,Java,例如,有一个arraylist:408633752,我想将它们左移2个位置。然后期望的输出是63752。我已经编写了以下代码,但它没有生成任何内容 代码: 导入java.util.ArrayList class ArrayLinearListRev extends ArrayLinearList{ public ArrayList<Integer> leftSh(int post, ArrayList<Integer> alist2) { ArrayList<

例如,有一个arraylist:408633752,我想将它们左移2个位置。然后期望的输出是63752。我已经编写了以下代码,但它没有生成任何内容

代码: 导入java.util.ArrayList

class ArrayLinearListRev extends ArrayLinearList{
public ArrayList<Integer> leftSh(int post, ArrayList<Integer> 
alist2)
{
   ArrayList<Integer> LeftshifedList = new ArrayList<Integer    
();
   for (int i = alist2.size(); i <= post; i++)
   {
       LeftshifedList.remove(alist2.get(i));
   }

   return LeftshifedList;

 }

 public void printElements(ArrayList<Integer> alist2)
 {
    for (int i = 0; i < alist2.size(); i++) {
        System.out.print(alist2.get(i) + " ");
    }
 }
 }

public class ArrayLinearListFun  {
public static void main(String[] args)
{
    ArrayLinearListRev obj = new ArrayLinearListRev();
    ArrayList<Integer> x = new ArrayList<Integer>();
    x.add(0, new Integer(2));
    x.add(1, new Integer(5));
    x.add(2, new Integer(7));
    x.add(3, new Integer(3));
    x.add(4, new Integer(6));
    x.add(5, new Integer(8));
    x.add(6, new Integer(40));
    System.out.print("The list is: ");
    obj.printElements(x);
    x=obj.leftSh(2, x);
    System.out.print("\nThe list is: ");
    obj.printElements(x);
 }
 }
类ArrayLinearListRev扩展了ArrayLinearList{
公共ArrayList leftSh(int-post,ArrayList
(2)
{

ArrayList LeftShiftedList=new ArrayList您的
leftSh
方法返回一个空的
列表
。假设您不希望您的方法修改原始
列表
,您应该初始化
LeftShiftedList
,使其成为原始
列表
的副本

您只需删除索引
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;
}
public ArrayList leftSh(int-post,ArrayList-alist2)
{
ArrayList LeftShiftedList=新建ArrayList(alist2);//创建输入列表的副本

对于(inti=1;i只需删除前两个元素

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

  alist2.remove(0);
  alist2.remove(0);
  return alist2;
}
public ArrayList leftSh(int-post,ArrayList-alist2){
alist2.删除(0);
alist2.删除(0);
返回2;
}

这仅在
post==2
时产生所需的输出。