我剛開始學習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。這個列表類讓你創建一個可變的數組列表,其中包含初始元素。
切線方面,番石榴圖書館是非常有用的常見的日常收集類型的東西。去看一下。
謝謝大家 –