我有一个大小为5的数组,我想从同一数组中删除一个元素,这也将其大小也减一,我可以通过创建一个新数组来做到这一点,但是我试图在该数组上执行相同的数组。有什么办法可以做到吗?
public static void main(String[] args) {
// TODO Auto-generated method stub
int arraysize = 5;
int[] a = new int[arraysize] ;
a[0]=1;
a[1]=2;
a[2]=3;
a[3]=4;
a[4]=5;
for(int i=0 ; i < a.length ; i++)
{
if(a[i]==3)
{
a[i]=a[i+1];
i = i + 1;
}
System.out.println(a[i]);
}
a[arraysize] = a[arraysize-1] ;
}
答案 0 :(得分:3)
在Java中,您无法从数组中删除元素并减小其大小。数组的大小为常量。请改用 ArrayList 。
这是演示片段
int arraysize = 5;
List<Integer> numbers = new ArrayList<>(arraysize);
for (int i = 1; i <= 5; i++)
numbers.add(i);
System.out.println(numbers.size()); // 5
System.out.println(Arrays.asList(numbers.toArray())); // [1, 2, 3, 4, 5]
numbers.remove(3);
System.out.println(numbers.size()); // 4
System.out.println(Arrays.asList(numbers.toArray())); // [1, 2, 3, 5]
答案 1 :(得分:0)
减小数组长度是不可能的。 您必须使用其他数据结构