我刚开始学习Java,发现你必须事先在数组中设置一些对象。所以我怎样才能创建一个数组,像在目标c中完成的那样设置数组中的对象数量。 我知道我可以做这样的事情在没有设置对象数的情况下在Java中创建数组?
int a[] = {1,3,1,3,41,34}
但在这种情况下,你必须把所有的对象一次是有办法做到这一点?
感谢
我刚开始学习Java,发现你必须事先在数组中设置一些对象。所以我怎样才能创建一个数组,像在目标c中完成的那样设置数组中的对象数量。 我知道我可以做这样的事情在没有设置对象数的情况下在Java中创建数组?
int a[] = {1,3,1,3,41,34}
但在这种情况下,你必须把所有的对象一次是有办法做到这一点?
感谢
Java中的数组不能调整大小。如果你需要的那种能力,你应该看看List<>
接口,并实现它的类(包括ArrayList<>
,LinkedList<>
等)
你将不得不使用ArrayList<Integer>
,如果你不知道前手的元素个数。
ArrayList<Integer> a = new ArrayList<Integer>();
a.add(1);
a.add(3);
...
对不起,这是Java我只是举一个例子 –
阵列在他们的对象固定数量。
您可以将它们分配空,有:
Object[] objects = new Object[100]; // 100 null objects
对于一个可变长度的列表,请尝试列表。像:
List<String> strings = new ArrayList<String>(); // arraylist is one of several kinds of list.
你不必把所有的对象,但最起码你需要知道多少对象你要投入,像这样:
int[] a = new int[6];
如果你需要它是动态的,你将不得不使用一个List或类似的东西。
有3种方法在Java中创建一个数组:
int[] a = new int[50];
int[] b = {1,2,3,4,5,6,7,8,9,10};
int[] c = new int[]{1,2,3,4,5,6,7,8,9,10};
如果你想有一个可调整大小的数组退房ArrayList。
像其他人一样说,你将不得不使用列表....只是想补充一点比较的Objective-C(以及苹果的目标-C框架类,但无论如何)
不像Obective- C在哪里你可以初始化NS(可变)数组和不带无终止列表的东西,在Java中,当你创建它们时你不能将默认值添加到列表中,你必须重复调用add方法来添加对象。 Java在Java 1.5中引入了可变数量的参数,但是从6.0开始,并没有在List接口的任何实现中添加使用此特性的构造函数。
查阅google番石榴图书馆,特别是http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/Lists.html。这个列表类让你创建一个可变的数组列表,其中包含初始元素。
切线方面,番石榴图书馆是非常有用的常见的日常收集类型的东西。去看一下。
谢谢大家 –