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