想去掉里面含有a的元素,并将null放在后面。放在后面就是往后移,其他值往左移
1 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));
标签:String,删除,int,strarray,len,数组,null From: https://www.cnblogs.com/Liku-java/p/16788247.html