java數組如何添加元素
向數組里添加一個元素怎么添加,這兒總結有三種方法:
1、一般數組是不能添加元素的,因為他們在初始化時就已定好長度了,不能改變長度。
但有個可以改變大小的數組為ArrayList,即可以定義一個ArrayList數組,然后用add(element)方法往里添加元素即可,還可add(index,element)往指定下標處添加元素;例子如下:
List<Integer> list=new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.add(2,4); System.out.println(list);
打印結果: [1, 2, 4, 3]
2、思路為先把array轉化為list,用list的add()方法添加元素,再把list轉化為array。
但這兒會有一個陷阱盲區,在把array轉化為list的過程中,使用的asList()方法會返回一個final的,固定長度的ArrayList類,並不是java.util.ArrayList,直接這樣利用它進行add()或remove()是無效的。
List<Integer> list=new ArrayList<Integer>(); list=Arrays.asList(sz); list.add(5);
那應該怎么做呢,在定義list的時候就直接對array進行轉化,代碼如下:
(注意這兒Array類型是包裝類,若是一般數據類型記得轉化,轉化參考我其他博客文章。)
//如 List<String> list=new ArrayList<String>(); // list=Arrays.asList(str); //這樣不行,須如下: Integer []sz={3,2}; List<Integer> list=new ArrayList(Arrays.asList(sz));//**須定義時就進行轉化** list.add(1,5); Integer[] nsz=new Integer[list.size()]; list.toArray(nsz); System.out.println(Arrays.toString(nsz));
結果輸出為:[3, 5, 2]
3、第三個方法思路為創建一個新數組,新數組的大小為舊數組大小+1,把舊數組里的元素copy一份進新數組,並把要添加的元素添加進新數組即可。
以上是菜鳥自我總結,如有錯誤或更好的建議請大佬們指正。