问题
我想知道如何初始化一个整数数组,以便它的大小和值在我的程序执行中发生变化,任何建议?
#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);