String[] str;...
经过初始化以后,
如果我要删除str[i],然后i以后的往前移, 怎么做呢?
下面做不到这个功能
for(int j=i; j< str.length-1; j++)
str[j]= str[j+1];
经过初始化以后,
如果我要删除str[i],然后i以后的往前移, 怎么做呢?
下面做不到这个功能
for(int j=i; j< str.length-1; j++)
str[j]= str[j+1];
ArrayList al = new ArrayList();
for(int i = 0; i < str.length; i++){
al.add(str[i]);
}
al.remove(1);
for(int i = 0; i < al.size(); i++){
str[i] = (String) al.get(i);
System.out.println(str[i]);
}
String[] a = {"1","2","3","4","5"};
ArrayList array = new ArrayList();
for(int i = 0; i < a.length;i++){
array.add(a[i]);
}
//假设你要删掉第三个
array.remove(2);
Object[] obj = array.toArray();
a = new String[obj.length];
for(int i = 0; i < obj.length;i++){
a[i] = (String)obj[i];
System.err.println("" + a[i]);
}
}
我写着玩的,别当真。
{
if (str[ i + 1 ] != null)
{
str[ i ] = str[ i + 1 ];
str[ i + 1 ] = null;
}
else
{
break;
}
}
str[j]= str[j+1];
这个可以实现,只是最后一个被保留了(数组的长度没变而以)
str[j]的值已经变为str[j+1];可以在加一个循环新生成一个数组把length变为str.length-1,取str的前str.length-1个值
最后附回去给str也可以用以下数组实现:
Vector vv = new Vector();
for(int k=0; k< 5; k++) {
vv.add("0" + k);
}
for(int k=2; k< vv.size() - 1; k++) {
vv.setElementAt(vv.get(k+1),k);
}
for(int k=0; k< vv.size() - 1; k++) {
System.out.println("123=" + vv.get( k ));
}