我正在尝试从数组中删除小于0或大于250的某些元素.我读过有关arrayUtils.removeElement的内容,但它似乎不起作用(无法解析ArrayUtils).对我可以使用的任何建议?
这些是导入的库:
import java.io.*;
import java.util.*;
import java.lang.*;
public static void dataCleaning() {
readFile();
int[] heights = readFile();
int[] myArray[];
for (int i = 0; i < heights.length; i++) {
if (heights[i] > 250 || heights[i] < 0) {
ArrayUtils.removeElement(heights, heights[i]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
一,你应该只打readFile一次电话.不要读它两次扔掉第一个.其次,您可以使用a IntStream来filter保留要保留的值并删除要忽略的值(在构建新数组之前 - 我不会删除循环中的元素,数组具有固定大小 - 因此每个操作都会创建一个新的阵列).
相反,我会这样做,
public static void dataCleaning() {
int[] heights = readFile();
int[] myArray = IntStream.of(heights).filter(x -> x >= 0 && x <= 250).toArray();
}
Run Code Online (Sandbox Code Playgroud)