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

标签 java

例如,有一个数组列表:40 8 6 3 7 5 2,我想将它们左移2位。然后预期输出是 6 3 7 5 2。我编写了以下代码,但它没有生成任何内容

代码: 导入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);
 }
 }

最佳答案

您的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;
}

关于java - 如何将数组列表左移 2 个位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55177727/

相关文章:

java - Spring Controller 预处理@ModelAttribute请求参数

java小程序显示来自本地主机的图像

java - 删除 Cassandra 中的查询

java - Android 无法解析日期 : "2017-12-01 00:00:00+01"

java - 如何从 ListView 中完全编辑/删除元素?

java - 使用 Drools 执行响应式规则

java - 在 Java 中更新 ArrayList 中的元素?

java - 使用 Ant 创建 stub 文件的最佳实践

java - 我在 java swing 应用程序中使用 Card 布局,并希望对卡片从一张到另一张的更改执行一些不错的效果

java - netbeans jar 构建文件打不开