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

所以我目前正在做一个任务,我目前被卡住了。我无法弄清楚如何获取索引左侧的所有元素并将它们从 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);

  }

}



凤凰求蛊
浏览 98回答 1
1回答

噜噜哒

如果您只想删除特定索引中剩下的所有元素,那么list.subList(0, index).clear();这就是方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java