在Java中,由于数组的大小是固定的,不能直接删除数组中的元素。但是,可以通过以下几种方法来删除数组中的偶数元素:
使用`System.arraycopy`方法
```java
int[] array = {1, 2, 3, 4, 5};
int indexToRemove = 1; // 要删除的元素的索引
int[] newArr = new int[array.length - 1];
System.arraycopy(array, 0, newArr, 0, indexToRemove);
System.arraycopy(array, indexToRemove + 1, newArr, indexToRemove, array.length - indexToRemove - 1);
// 输出新数组
System.out.println(Arrays.toString(newArr));
使用`Arrays.copyOfRange`方法
```java
int[] array = {1, 2, 3, 4, 5};
int indexToRemove = 1; // 要删除的元素的索引
int[] newArr = Arrays.copyOfRange(array, 0, indexToRemove);
System.arraycopy(array, indexToRemove + 1, newArr, indexToRemove, array.length - indexToRemove - 1);
// 输出新数组
System.out.println(Arrays.toString(newArr));
使用`ArrayList`的`remove`方法(适用于动态数组):
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List
list.removeIf(num -> num % 2 == 0);
System.out.println(list);
}
}
使用`ArrayList`的`add`方法替换元素(适用于动态数组):
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
public static List
getListByAdd(List list) { List
newList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) {
if (list.get(i) % 2 != 0) {
newList.add(list.get(i));
}
}
return newList;
}
public static void main(String[] args) {
List
list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5)); list = getListByAdd(list);
System.out.println(list);
}
}
以上方法都可以用来从数组中删除偶数元素。选择哪种方法取决于你的具体需求,例如是否需要保留原始数组的顺序、是否希望创建一个新的数组,以及是否在使用动态数组(如`ArrayList`)。