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