是否可以创建一个开放式阵列?

时间:2011-03-04 22:49:29

标签: java arrays methods

我想知道是否可以在不输入值的情况下创建数组。我不完全了解它们是如何工作的,但是我正在做一个库存程序,并希望我的数组能够以用户可以输入产品及其相关变量的方式设置,直到它们完成,然后它需要使用计算所有产品总成本的方法。最好的方法是什么?

5 个答案:

答案 0 :(得分:6)

答案 1 :(得分:3)

是的,你可以这样做。而不是使用基本类型数组,例如new int[10],使用类似Vector类,或者可能使用ArrayList(checkout API文档用于区别)。使用ArrayList如下所示:

ArrayList myList = new ArrayList();
myList.add("Item 1");
myList.add("Item 2");
myList.add("Item 3");
// ... etc

换句话说,它会在您添加内容时动态增长。

答案 2 :(得分:1)

正如Orbit指出的那样,使用ArrayList或Vector来满足您的数据存储要求,它们在声明时不需要分配特定的大小。

答案 3 :(得分:0)

您应该熟悉Java Collections Framework,其中包括ArrayList,正如其他人所指出的那样。很高兴知道其他收集对象可用,因为某些可能更符合您的需求而不是满足某些要求。例如,如果你想确保你的“列表”不包含重复的元素,那么HashSet可能就是答案。

http://download.oracle.com/javase/tutorial/collections/index.html

答案 4 :(得分:0)

其他答案已经告诉我们如何正确行事。为了完整起见,在Java中,每个数组都有一个固定的大小(长度),它在创建时确定并且永远不会更改。 (数组也有一个组件类型,永远不会改变。)

因此,当旧阵列已满时,您必须创建一个新的(更大的)数组,然后复制旧内容。幸运的是,ArrayList类在其内部支持数组已满时为您执行此操作,因此您可以专注于手头的实际业务任务。