我刚开始学习Java,发现你必须事先在数组中设置对象数。那么如何在数组中设置数量,就像在目标c中完成一样。 我知道我可以做这样的事情
int a[] = {1,3,1,3,41,34}
但是在这种情况下你必须立即放置所有对象才有办法吗?
感谢
答案 0 :(得分:7)
Java中的数组无法调整大小。如果您需要这种功能,您应该查看List<>
接口以及实现它的类(包括ArrayList<>
,LinkedList<>
等)。
答案 1 :(得分:3)
您不必将所有对象放入其中,但至少您需要知道要放入多少个对象,如下所示:
int[] a = new int[6];
如果你需要它是动态的,你将不得不使用List或类似的东西。
答案 2 :(得分:2)
有三种方法可以在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。
答案 3 :(得分:1)
如果您事先不知道元素的数量,则必须使用ArrayList<Integer>
。
ArrayList<Integer> a = new ArrayList<Integer>();
a.add(1);
a.add(3);
...
答案 4 :(得分:1)
数组中包含固定数量的对象。
您可以将它们分配为空,使用:
Object[] objects = new Object[100]; // 100 null objects
对于可变长度列表,请尝试列表。像:
List<String> strings = new ArrayList<String>(); // arraylist is one of several kinds of list.
答案 5 :(得分:1)
就像其他人说的那样,你将不得不使用列表....只是想对Objective-C添加一点比较(对于Objective-C,无论如何都是苹果框架类)
与Obective-C不同,在Obective-C中你可以初始化NS(Mutable)数组,并且使用nil终止列表,在Java中你不能在创建它们时为列表添加默认值,你必须反复调用add方法来添加对象。 Java在Java 1.5中引入了可变数量的参数,但是从6.0开始,没有添加使用此功能的构造函数到它们的List接口的任何实现。
答案 6 :(得分:0)
查看google guava库,特别是http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/Lists.html。 lists类允许您创建一个带有初始元素的可变arraylist。
切向地,Guava库对于常见的日常收集类型的东西非常有用。检查一下。