2012-10-03 197 views
0

我知道這很容易,可以用2行代碼完成,但我很想知道是否存在任何這樣的功能 我有一個int,它告訴我列表的大小,我需要創建列表說從大小創建一個列表

List<Integer> intList; 

我可以通過大小類似

for(int i=1 ; i <= size; i++) // started with 1 as i want it from 1 
{ 
    fill list 
} 

很容易地遍歷創造這一點,但我只是在想,好像存在無論是在收集API或Apache常見任何這樣的方法 我可以通過大小來獲得Lis噸,給定大小

編輯

我可能無法把問題以適當的方式,我想充滿了我的名單說 如果大小= 4比我的想法生根粉東西

Integer=1 
Integer=2 
Integer=3 
Integer=4 

,不與大小4

我知道問題一個空列表沒有多大意義,但還是它能夠更好地清除您的問題

+0

列表最終應包含哪些內容?如果你只是想要一個初始化的給定大小的列表,你可以簡單地使用一個數組。 –

+1

當您向其添加元素時,「List」會自動增長。您不需要在創建列表時指定大小。只需創建一個空列表並向其中添加元素。 – Jesper

+0

聲明一個初始大小對速度有正面影響,所以它不是無用的 – Minion91

回答

0

這裏的事情是,List是一個接口類,你不能創建接口類的實例。所以在你想構建它之前,你需要知道你想創建什麼樣的List。暫時讓我們假設你想要一個ArrayList。從這一刻起,您可以簡單地使用正確的構造函數來初始化您的列表,例如

List<Integer> intList = new ArrayList<Integer>(10); 

它構建初始容量的10

一個ArrayList對於其他類型的列表,你可以檢查Java documentation

以填補初始數據的列表,你可以做這樣的事情:

int[] myArray = new int[]{ 58,63,67,72,70,63,62,63 }; 
List<Integer> intList = new ArrayList<Integer>(myArray); 
+0

不,這將創建一個** ArrayList **,其初始**容量**爲10,**大小**爲0. – Jesper

+0

正確,但問題很模糊,現在得到糾正 – Minion91

0

要回答你與你的編輯添加了什麼之後的問題:沒有,有沒有這樣的方法來填充與列表在標準集合API中遞增整數。您必須自己編寫一個循環,並將元素添加到列表中。

2

簡短的回答:沒有

兩班輪您目前使用的已經是最優的。