如何给数组添加元素

如何给数组添加元素,第1张

数组里添加一个元素怎么添加,这儿总结有三种方法:

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一份进新数组,并把要添加的元素添加进新数组即可。

创建数组对象:int

a

=

new

int[3]

这里new指定三个 *** 作:在堆区为数组分配空间;为数组每个元素附默认值;返回数组对象的引用。

数组对象一旦创建好了就不能改变其长度,new *** 作必须指定数组长度。数组长度可以为0表示无元素,直接初始化不能指定长度,例如:int

a

=

{1,2,3}

数组对象的 *** 作方法:

1、添加:push()方法在数组末尾增加一个或多个元素,返回新长度;push() *** 作会改变原来的数组 eg: var a = []a.push(“zero”)//a = [“zero” ,”one”,”two”]

2、删除:pop()用于删除并返回数组的最后一个元素。pop() *** 作会改变原来的数组。eg: var arr = [1,2,3]document.wite(arr.pop())// 输出显示 3  实际arr=[1,2]

3、join()方法将数组中所有元素都转化为字符串并且连接在一起,join() *** 作不会改变原来的数组  eg:var arr = [1,2,3]document.write(a.join("\"))//1\2\3

4、逆序:reverse()将数组中元素的顺序颠倒,返回逆序的数组。reverse() *** 作会改变原来的数组 eg:var a = [1,2,3]a.reverse()//a=[3,2,1]

5、排序:sort()不带参数调用sort(),将按字母表进行排序  想让其按我们的方式排序,则需要传入比较函数,

6、合并:concat() concat() 方法合并两个数组,并返回合并后的新数组。eg:var a=[1,2,3],b=[4,5,6]document.write(a.concat(b))

//1,2,3,4,5,6

7、片段显示:slice()slice()方法返回指定数组的一个片段或子数组

var a = [1,2,3,4,5] a.slice(0,3)        ==>[1,2,3]

a.slice(3)            ==>[4,5]

a.slice(1,-1)        ==>[2,3,4]  参数-1指定为最后一个元素

a.slice(-3,-2)      ==>[3]

8、插入、删除或替换:splice() 方法用于插入、删除或替换数组的元素。并返回删除的部分数组

var a = [1,2,3,4,5,6,7,8]

a.splice(4)  ==>返回[5,6,7,8]  数组a变为[1,2,3,4]

a.splice(1,2)  ==>返回[2,3]  a是[1,4,5,6,7,8]

a.splice(2,0,'a','b')  返回[], a是[1,2,'a','b',3,4,5,6,7,8]向数组中添加元素:

a.splice(2,2,33,3)a是[1,2,33,3,5,6,7,8]

9、unshift()和shift()是在数组的头部而非尾部进行元素的插入和删除 *** 作。unshift()最后返回数组新的长度shift()删除数组的第一个元素并将其返回。

var a=[1,2,3]

a.unshift(9)//a=[9,1,2,3]

a.shift()//a=[2,3]

10、删除元素:delete

var arr2 = [1,2,3,4,5]

delete arr2[3]//删除arr2数组的第四个位置的元素;但是此位置依然保留,只是内容被删除,在alert(arr2[3])返回undefined

11.  遍历数组    1、 for(){}  2、for in

var a = []//声明一个数组

a[0] = "泰国"//给数组赋值,第一个值是泰国

a[1] = "韩国"//给数组赋值,第一个值是韩国//利用for循环遍历

for(var i =0i<2i++){

alert("我去过"+a[i])

}//利用for in 循环遍历

for(country in a){

alert("我去过"+a[country])

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11890166.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存