java如何删除索引左侧的所有元素?
所以我现在正在做一项任务,我现在被卡住了。我不知道如何获取索引左侧的所有元素并将其从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 楼答案
如果您只想删除特定索引中剩余的所有元素,那么
list.subList(0, index).clear();
就是这样