更改数组中值的数量 JAVA
Change number of values in array JAVA
是否可以在设置数组后重新设置数组中值的数量?
我通过一个变量定义了数组中值的数量,稍后该变量由用户更新,我需要用它更新数组的大小。
即:
numberOfPeople = 2;
Person person[] = new Person[numberOfPeople];
以后:
if(valueSelected == 3) {
numberOfPeople = 3; }
以上只是一个非常简化的示例,但基本上这就是我所得到的,我只需要在执行 if
语句时实际更改数组大小。
不可以,一旦创建数组就无法更改其长度。
为此,我建议使用 ArrayList
:
ArrayList<Object> arrayList = new ArrayList<Object>();
Object o = new Object();
arrayList.add(obj);
它可以一直增长到您想要的任何长度。
您可以从 official oracle document here 阅读更多关于 ArrayList
的信息。
要删除条目,只需使用 .remove()
方法:
或者
arrayList.remove(Object o); //removes occurrence of that object
或
int index = 0;
arrayList.remove(index); //removes the object at index 0
不过,如果您仍然想坚持使用数组,则必须创建一个更大的新数组,并将旧数组中的所有数据复制到新数组中。
我仍然建议使用 Alex K 的答案。简单多了。
是否可以在设置数组后重新设置数组中值的数量? 我通过一个变量定义了数组中值的数量,稍后该变量由用户更新,我需要用它更新数组的大小。
即:
numberOfPeople = 2;
Person person[] = new Person[numberOfPeople];
以后:
if(valueSelected == 3) {
numberOfPeople = 3; }
以上只是一个非常简化的示例,但基本上这就是我所得到的,我只需要在执行 if
语句时实际更改数组大小。
不可以,一旦创建数组就无法更改其长度。
为此,我建议使用 ArrayList
:
ArrayList<Object> arrayList = new ArrayList<Object>();
Object o = new Object();
arrayList.add(obj);
它可以一直增长到您想要的任何长度。
您可以从 official oracle document here 阅读更多关于 ArrayList
的信息。
要删除条目,只需使用 .remove()
方法:
或者
arrayList.remove(Object o); //removes occurrence of that object
或
int index = 0;
arrayList.remove(index); //removes the object at index 0
不过,如果您仍然想坚持使用数组,则必须创建一个更大的新数组,并将旧数组中的所有数据复制到新数组中。
我仍然建议使用 Alex K 的答案。简单多了。