如何删除索引左侧的所有元素?

时间:2019-03-07 05:09:28

标签: java arrays arraylist

因此,我目前正在从事一项作业,并且目前陷入困境。我无法弄清楚如何获取索引左侧的所有元素并将其从Arraylist中删除。

这些是确切的说明:

对于此程序,给定顺序,请除去所有零(如果有)及其左侧的所有数字。然后找到 最大剩余位数,如果是偶数减去2,或者如果是奇数,则减去1。如果两个或 更多的数字成为最大的数字,使用最右边的数字作为最大的数字。重复申请 顺序的规则。删除序列需要多少步?

这是我到目前为止所拥有的:

(对不起,如果代码有点混乱)

import java.io.*;
import java.util.*;

public class Main {
  public static void main(String[] args) throws FileNotFoundException {
    File inputFile = new File("input.txt");
    Scanner scanFile = new Scanner(inputFile);

    String input;
    int testCase;
    String testCaseS = "";
    int zero;
    //testCase = scanFile.nextInt();
    //System.out.println(testCase);

    input = scanFile.next();
    //System.out.println(input);
    //input = input.replaceAll(",", "");


    String arr = input;
    String[] items = arr.replaceAll("\\[", "").replaceAll("\\]", "").replaceAll("\\s", "").split(",");

    int[] results = new int[items.length];

    for (int i = 0; i < items.length; i++) {
        try {
            results[i] = Integer.parseInt(items[i]);
        } catch (NumberFormatException nfe) {

        };
    }

    //for (int o = 0; o <= items.length; o++)
      //System.out.println(results[o]);
    boolean choice = false;
    int counter = 0;

    List<Integer> intList = new ArrayList<Integer>();
    for (int i : results)
    {
      intList.add(i);
    }

    if (!choice) {
      for (int u = 0; u < items.length; u++) {
        if (results[u] == 0)
            counter++;
            //intList.removeAll(Arrays.asList(0 ));
        }
      }
      int zeroindex = intList.indexOf(0);



      System.out.println(intList);
  }
}

1 个答案:

答案 0 :(得分:1)

如果您只想删除特定索引中剩余的所有元素,则

list.subList(0, index).clear();

这就是方法。