我有一个阵列与Defualt“猫”,“狗”,西蒙“,”史密斯“ 因此长度为3。
如果我想编辑史密斯,我输入数组[3] =“JR史密斯”
但是如果用户想要在数组中添加另一个东西我试过:array [4] =“Car” 但它让我不受限制。
如何在数组初始化之外扩展数组?
//西蒙
编辑*
我知道有List。但是阵列没有办法。因为我花了很长时间才写出像200长度阵列......
答案 0 :(得分:8)
答案 1 :(得分:2)
您应该使用列表。数组在java中不是动态的:
import java.util.*;
List<String> list = new ArrayList<String>();
list.add( "cat" );
list.add( "dog" );
list.add( "bird" );
//later
list.add( "car" );
答案 2 :(得分:2)
我建议使用ArrayList。您始终可以使用toArray()方法将ArrayList转换为数组。
http://docs.oracle.com/javase/1.4.2/docs/api/java/util/ArrayList.html#toArray%28%29
答案 3 :(得分:1)
有一种放大阵列的方法:
int[] array = { 1, 2, 3 };
int[] newArray = new int[5];
System.arraycopy(array, 0, newArray, 0, array.length);
array = newArray;
array[4] = 5;
array
现在是{ 1, 2, 3, 0, 5 }
您创建一个更大的一个,将旧的一个复制到新的一个并使用新的。这也是ArrayList
内部的作用。
答案 4 :(得分:0)
请尝试使用ArrayList
。初始化数组后,您无法更改其大小,除非您重新初始化它。
答案 5 :(得分:0)
我个人最喜欢的方法是导入java.util.Arrays,然后使用以下内容:
List tempList = Arrays.asList(yourArray)
tempList.add(whateverYouWant)
yourArray = tempList.toArray();
第一行将数组转换为List,第二行将其添加到列表中,第三行将其更改回来。