直接上例子程序:
1。查询:输出数组中所有有效元素
直接用遍历的方法查找出数组中所有的元素
2.添加:找到添加的位置(String类型的数组第一次出现null值的下标,
整型数组就是第一次出现0的下标),给这个位置赋值
int index=-1;
for(int i=0;i<name.length;i++){
}
if(index!=-1){
}else{
}
例子分析:index这个变量再整个程序中相当于一个“监视器”。先随便负一个值-1,其实-2,-3,-4。。。都无所为,主要是为了和下标的0,1,2,3....这些区别开来。然后遍历name[]中的元素,如果发现了null那么就会把i赋值给index,相当于把那个空的下标给找出来,跳出(break)程序。
进入下一个if语句,首先判断index的值变化了没有,如果有了变化(不等于-1了)。说明发现了空NUll的元素,name[index]="田七"; 因为index在上一个if语句中已经从新赋值为null的下标地址,这时直接找到那个空的位置赋值为“田七”就ok了。
整个程序的大体思路:先查找位置————在进行添加、修改、赋值。
3.修改:假如兆六修改成赵六,先找到兆六的位置,把此位置的值重新赋值为赵六
int index=-1;
for(int i=0;i<name.length;i++){
}
if(index!=-1){
}else{
}
程序分析:第一个if语句同上,第二个if是找到那个位置,从新赋值。
4.删除:假如把"赵六",先要找到删除的位置,把位置后面的内容依次往前推
由于删除数组的逻辑比较复杂直接上个完整的代码(可以直接拷贝到平台调试观看的)
public class Array_summarize {
}
程序分析:红色代码部分属于查找数组中是否有“天津”这个值,并且标注出他的下标和位置。蓝色代码是删除的核心,为什么会“name.length-1”呢?因为name.length得出的是数组的长度(数组的个数)。例子中来看是6个,而下标是长度(个数)减掉1正好是下标的最高位5。我们这里正好是要利用下标来为数组元素挨个赋值。
此程序“天津”在3的一个位置,从3开始把4位置的值向前移一个name[i]=name[i+1];,name.length-1等于5,当i值等于5的时候,for循环停止了,这个时候就把最后一位赋值为null,将四川5覆盖掉,此时数组中天津一值被删除了。
绿色部分就是为了好里理解观看,在删除过后对数组进行的遍历。帮助理解而已。