Java中数组的长度是固定的,这意味着不能,直接从一个数组中删除元素并期望数组自动调整其大小。可以通过几种方式,来实现删除数组元素的效果。
创建一个新数组:
public class RemoveArrayElement {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
int indexToRemove = 2; // 假设删除索引为2的元素(值为3)
// 检查索引是否有效
if (indexToRemove >= 0 && indexToRemove < array.length) {
// 创建一个新数组,其长度比原数组少1
int[] newArray = new int[array.length - 1];
// 复制索引小于要删除元素的元素
for (int i = 0, j = 0; i < array.length; i++) {
if (i != indexToRemove) {
newArray[j++] = array[i];
}
}
// 打印新数组
for (int num : newArray) {
System.out.print(num + " ");
}
} else {
System.out.println("索引无效");
}
}
}
使用 ArrayList
:
import java.util.ArrayList;
import java.util.List;
public class RemoveArrayListElement {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
int indexToRemove = 2; // 删除索引为2的元素(值为3)
// 检查索引是否有效并删除元素
if (indexToRemove >= 0 && indexToRemove < list.size()) {
list.remove(indexToRemove);
} else {
System.out.println("索引无效");
}
// 打印修改后的列表
for (int num : list) {
System.out.print(num + " ");
}
}
}
标签:Java,删除,int,list,索引,indexToRemove,数组,array From: https://blog.csdn.net/xuann/article/details/144571917