删除数组里含有a的元素,并且将null值放在后面
想去掉里面含有a的元素,并将null放在后面。放在后面就是往后移,其他值往左移
public static void main(String[] args) {
2 //自定义的一个数组
3 String[] strarray={"a","b","a","a","d","a"};
4 int len=strarray.length;
5 //由于数组长度是固定的,获得一次长度就可以进行循环
6 for (int i = 0; i < len; i++) {
7 //当数组里面遇到a字符就进行下面的操作
8 if ("a".equals(strarray[i])) {
9 //这一行加不加无所谓
10 strarray[i]=null;
11 for (int j = i; j < len-1; j++) {
12 //将后一个值传给前一个值,整体左移
13 strarray[j]=strarray[j+1];
14 }
15 strarray[len-1]=null;//元素最后一个得为null
16 i--;//因为i一直往前加,没有注意后面元素是两个a的情况
17 }
18 }
19 System.out.println(Arrays.toString(strarray));
除了上面的方法,其实还可以用一个新数组来进行操作
String[] strarray={"a","b","a","a","d","a"};
int len=strarray.length;
String[] array2=new String[len];
int index=0;
for(int i=0;i<len;i++){
String s=strarray[i];
if(!"a".equals(s)){
array2[index]=s;
index++;
}
}
System.out.println(Arrays.toString(array2));