Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 编辑超出其边界的数组_Java_Android_Arrays - Fatal编程技术网

Java 编辑超出其边界的数组

Java 编辑超出其边界的数组,java,android,arrays,Java,Android,Arrays,我有一个与解散的猫,狗,西蒙,史密斯的阵列 因此,长度为3 如果要编辑smith,请键入数组[3]=JR smith 但如果用户想向我尝试的数组中添加另一个东西:数组[4]=Car 但它让我出界了 如何将数组扩展到其初始化之外 //西蒙 编辑* 是的,我知道有名单。但是数组不是有办法吗。因为写一个200长度的数组需要很长时间…您不能在初始化之外扩展数组。为此,建议使用。它具有超出其预定义大小的特性 可以找到一个使用ArrayList的简单示例您应该使用列表。数组在java中不是动态的: imp

我有一个与解散的猫,狗,西蒙,史密斯的阵列 因此,长度为3

如果要编辑smith,请键入数组[3]=JR smith

但如果用户想向我尝试的数组中添加另一个东西:数组[4]=Car 但它让我出界了

如何将数组扩展到其初始化之外

//西蒙

编辑*


是的,我知道有名单。但是数组不是有办法吗。因为写一个200长度的数组需要很长时间…

您不能在初始化之外扩展数组。为此,建议使用。它具有超出其预定义大小的特性


可以找到一个使用ArrayList的简单示例

您应该使用列表。数组在java中不是动态的:

 import java.util.*;

 List<String> list = new ArrayList<String>();
 list.add( "cat" ); 
 list.add( "dog" ); 
 list.add( "bird" ); 
 //later
 list.add( "car" );

我建议使用ArrayList。始终可以使用toArray方法将ArrayList转换为数组

尝试改用ArrayList。一旦初始化数组,就不能更改其大小,当然,除非重新初始化它


请参见此处

有一种方法可以放大阵列:

int[] array = { 1, 2, 3 };
int[] newArray = new int[5];
System.arraycopy(array, 0, newArray, 0, array.length);
array = newArray;
array[4] = 5;
数组现在是{1,2,3,0,5}


创建一个更大的,将旧的复制到新的,然后使用新的。这也是ArrayList内部所做的。

我个人最喜欢的方法是导入java.util.Arrays,然后使用以下内容:

List tempList = Arrays.asList(yourArray)
tempList.add(whateverYouWant)
yourArray = tempList.toArray();
第一行将数组转换为列表,第二行将数组添加到列表,第三行将数组更改回列表