我想知道是否可以在不输入值的情况下创建数组。我不完全了解它们是如何工作的,但是我正在做一个库存程序,并希望我的数组能够以用户可以输入产品及其相关变量的方式设置,直到它们完成,然后它需要使用计算所有产品总成本的方法。最好的方法是什么?
答案 0 :(得分:6)
使用ArrayList。
这将允许您创建动态数组。
http://download.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html
以下是一个示例/概述:
http://www.anyexample.com/programming/java/java_arraylist_example.xml
答案 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类在其内部支持数组已满时为您执行此操作,因此您可以专注于手头的实际业务任务。