问题

我想知道如何初始化一个整数数组,以便它的大小和值在我的程序执行中发生变化,任何建议?


#1 热门回答(111 赞)

是的:useArrayList

在Java中,"普通"数组是固定大小的。你必须给它们一个尺寸,不能扩展或收缩它们。要更改大小,你必须创建一个新数组并复制所需的数据 - 这对你来说效率低下并且很痛苦。

幸运的是,有各种实现常见数据结构的内置类,以及其他有用的工具。你需要查看the Java 6 API以获取它们的完整列表。

一个警告:ArrayList只能保存对象(例如整数),而不能保存基元(例如整数)。在大多数情况下,autoboxing/autounboxing会默默地为你照顾这个,但你可能会得到一些奇怪的行为取决于你正在做什么。


#2 热门回答(31 赞)

Java中的数组具有固定的大小。你需要的是一个ArrayList,它是Java中许多非常有价值的集合之一。

代替

Integer[] ints = new Integer[x]

你用

List<Integer> ints = new ArrayList<Integer>();

然后更改列表,你使用466769623和ints.remove(z)以及其他许多方便的方法,你可以在相应的Javadocs中找到它们。

我强烈建议研究Java中可用的Collections类,因为它们非常强大,并且为你提供了许多内置功能,Java-newbies倾向于尝试不必要地重写它们。


#3 热门回答(18 赞)

一旦实例化,数组就是固定大小。你可以改用List。

Autoboxing使List可以像数组一样使用,你可以简单地将int值放入其中:

List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);

原文链接