删除数组中某个元素

需求:已知一个数组,删除其中某个元素,其它向左移,最后一位补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");
        }
    }
}
时间: 2024-08-25 03:13:03

删除数组中某个元素的相关文章

约瑟夫问题 算法很简单保证每隔人都能看懂用数组实现 利用循环删除数组中的元素

#include<iostream> using namespace std; const int size = 1000; void ArrDel() { int arr[size]; //循环结束标志,一直循环到数组中只剩下最后一个元素结束 int currentNum = size; int count = 0; for (int k = 0; k < size; k++) { arr[k] = k; } //currentNum==1表示数组中只剩下最后一个元素 是循环结束的标志

删除数组中某元素,返回含有剩余元素的数组

arr为删除前的数组,key为要删除的元素对象.//删除数组中某元素,返回含有剩余元素的数组------------------------------------function arrMove(arr, key){ var temp = []; for (var i=0; i<arr.length; i++) { if (arr[i] != key) { temp.push(arr[i]); } } return temp;}

js删除数组中的元素

js删除数组中的元素delete和splice的区别 例如有一个数组是 :var textArr = ['a','b','c','d']; 这时我想删除这个数组中的b元素: 方法一:delete 删除数组 delete textArr[1] 结果为: ["a",undefined,"c","d"] 只是被删除的元素变成了 undefined 其他的元素的键值还是不变. 方法二:aplice 删除数组 splice(index,len,[item]

[码海拾贝 之JS] JS 之删除数组中的元素

前言 在Java 中要从一个list 中删除一个元素, 直接使用 remove 方法就可以了. 在js 中的array 并没有 remove 方法, 但是在js 中array 有splice 方法可以达成相同的效果, 除此之外, 还可以使用其他方式来实现这个效果. 使用splice 方法实现从数组中删除元素 首先看一下 splice 方法如何使用. 语法 arrayObject.splice(index,howmany,item1,.....,itemX) 参数 描述 index 必需.整数,规

删除数组中重复元素 (使用stl::set)

/* *程序作用删除数中重复的元素,先使用set 遍历一次数组,然后在使用两个指针,以及set查重, *去重复之后使用0填补多余空间 *复杂度 O(NlogN) *空间复杂度 O(N) */ #include<iostream> #include<set> using namespace std; void delete_over_arry(int *a,int len); void print(int *a ,int len); int main() { int p[]={1,1

删除数组中的元素(链表)

[问题描述] 给定N个整数,将这些整数中与M相等的删除 假定给出的整数序列为:1,3,3,0,-3,5,6,8,3,10,22,-1,3,5,11,20,100,3,9,3 应该将其放在一个链表中,链表长度为20 要删除的数是3,删除以后,链表中只剩14个元素:1 0 -3 5 6 8 10 22 -1 5 11 20 100 9 [输入] 包含3行:第一行是一个整数n(1 <= n <= 200000),代表数组中元素的个数.第二行包含n个整数,代表数组中的n个元素.每个整数之间用空格分隔:

jquery删除数组中重复元素

首先定义如下数组: var arr=[0,2,3,5,6,9,2]; 我们可以看到数组中存在重复元素'2'; 最后通过jquery筛选应该得到[0,2,3,5,6,9]; ok,首先我们再定义一个空数组,用来存放最后筛选出来的元素: var new_arr=[]; 利用jquery的$.inArray可以轻松实现: 遍历数组元素: for(var i=0;i<arr.length;i++) { var items=arr[i]; //判断元素是否存在于new_arr中,如果不存在则插入到new_

JS中删除数组中的元素方法

删除指定下标数组元素 Array.prototype.del=function(index){ if(isNaN(index)||index>=this.length){ return false; } for(var i=0,n=0;i<this.length;i++){ if(this[i]!=this[index]){ this[n++]=this[i]; } } this.length-=1; }; 删除指定元素 Array.prototype.indexOf = function(v

删除数组中的元素

1 public class Demo03 { 2 static char ch[] = {'1','2','3','4'}; 3 static char ch01[] = new char[ch.length-1]; 4 public static void main(String[] args) { 5 newch(2); 6 } 7 public static void newch(int i){ 8 if(i==0){ 9 for(int a=0;a<ch.length-1;a++) 1