1、一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度。
但有个可以改变大小的数组为ArrayList,即可以定义一个ArrayList数组,然后用add(element)方法往里添加元素即可,还可add(index,element)往指定下标处添加元素
2、思路为先把array转化为list,用list的add()方法添加元素,再把list转化为array。
但这儿会有一个陷阱盲区,在把array转化为list的过程中,使用的asList()方法会返回一个final的,固定长度的ArrayList类,并不是java.util.ArrayList,直接这样利用它进行add()或remove()是无效的。
那应该怎么做呢,在定义list的时候就直接对array进行转化
第三个方法思路为创建一个新数组,新数组的大小为旧数组大小+1,把旧数组里的元素copy一份进新数组,并把要添加的元素添加进新数组即可。
1、push() 结尾添加
数组.push(元素)
参数 描述
newelement1必需。 要添加到数组的第一个元素。
newelement2可选。 要添加到数组的第二个元素。
newelementX可选。 可添加多个元素。
2、unshift() 头部添加
数组.unshift(元素)
参数 描述
newelement1必需。 向数组添加的第一个元素。
newelement2可选。 向数组添加的第二个元素。
newelementX可选。 可添加若干个元素。
3、splice() 方法向/从数组指定位置添加/删除项目,然后返回被删除的项目。
参数 描述
index必需。 整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany必需。 要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX可选。 向数组添加的新项目。
程序的执行没有问题,确实是三个数组已满。
你的想法应该是一旦在数组中找到空元素就加入新元素,应该在if判断当前元素为空时加入元素。可以在最后输出数组查看。index可以作为判断标准,在循环结束时index还是-1,说明数组是满的。
public class SuppleMent {public static void main(String[]args){
int index=-1// 假设的数组下标索引
String[] phones={"小米","中兴","华为",null}
for(int i=0i<phones.lengthi++){
if(phones[i]==null){
index=i
phones[i]="联想"
}
}
if(index==-1)
System.out.println("数组是满的。")
for(int j = 0j<phones.lengthj++){
System.out.println(phones[j])
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)