删除数组中某个元素

需求:已知一个数组,删除其中某个元素,其它向左移,最后一位补null值

分析:

1、找出要删除元素的下标,找个变量接收

2、此位置元素后面的元素依次向左移一位

3、补齐最后一位赋值null

4、输出新数组

/**
 * 
 */
package com.cn.u4;

/**
 * @author Administrator
 *删除数组中某个元素值
 */
public class DelArray {
    public static void main(String[] args) {
        //定义数组
        String[] phones={"iphone4","iphone4s","iphone5","iphone5s","iphone6"};
        //找到被删除的元素值
        int index=-1;//这个值一定要定义在外面,因为后面还要用
        for(int i=0;i<phones.length;i++){
            
            if(phones[i].equals("iphone4s")){//我决定删除这个元素值
                index=i;
                break;
            }
        }
        System.out.println("index="+index);
        //其实删除,不一定非要delete,右边值向左移把它覆盖也是一种删除它的方法
        //开始移位啦
        if(index!=-1){
            for(int i=index;i<phones.length-1;i++){//这里要把index坐标后面的每个向前移1位
                phones[i]=phones[i+1];//后一位移动前一位,就是赋值
            }
            
            phones[phones.length-1]=null;//最后一位就空了,给它个null吧,这里也是赋null给最后一个元素
            
        }else{
            System.out.println("没有你要删除的内容!");
        }
        //删除后遍历元素值
        for(int i=0;i<phones.length;i++){
            System.out.print(phones[i]+"\t");
        }
    }
}

 

posted @ 2016-04-28 22:47  sincoolvip  阅读(899)  评论(0编辑  收藏  举报