public class XXXX{
private List<Integer>[] a;
public XXXX(int num)
{
a = new ....?
}
}
我應該如何在新一?如何將新的列表<Integer> []在java中
public class XXXX{
private List<Integer>[] a;
public XXXX(int num)
{
a = new ....?
}
}
我應該如何在新一?如何將新的列表<Integer> []在java中
a = (List<Integer>[]) new List[num];
for(int i = 0; i < num; i++)
a[i] = new ArrayList<Integer>();
真的不過,爲何不宣佈a
作爲List<List<Integer>>
?
@ppeterka:固定的 – Eric 2013-03-26 12:09:17
列表是java中的一個接口!
你可以給喜歡的ArrayList,linket名單,矢量實例的引用和堆棧與列表數據類型的變量
,所以你可以使用下列之一,
a = new ArrayList<Integer>();
a = new LinkedList<Integer>();
a = new Vector()<Integer>;
a = new Stack()<Integer>;
NPE:「陣列和仿製藥不要去的好起來」
圍棋的名單列表
List<List<Integer>> a = new ArrayList<List<Integer>>();
或雙陣列
int[][] a = new int[5][5];
這工作
int arraySize = 10;
List<Integer>[] a = (List<Integer>[]) new List[arraySize];
它創造(的大小10)數組,可以包含整數
名單不要讀取最初的評論,因爲他們提到一個不正確的鏈接,人們問爲什麼爲什麼。這工作完美,簡單的問題和簡單的答案。我將我的四個列表
您可以創建列表的數組,但你不能使用在創新過程中輸入。
List<Integer>[] lists=new List[10];
//insertion
for(int i=0;i<10;i++){
lists[i]=new ArrayList<Integer>();
lists[i].add(i);
lists[i].add(i+1);
}
//printing
for(List<Integer> list:lists){
System.out.println(list.size());
}
爲什麼這有效?因爲lists
變量指向數據類型爲List<Integer>
的數組數據結構。該數組包含一組對List<Integer>
類型的不同對象的引用,這就是爲什麼如果我們嘗試運行lists[i]=new ArrayList<String>();
它不會編譯。然而,當我們初始化數組本身時,我們不需要將List對象的類型設置爲List,因爲從JVM的角度來看,Integer對象列表和Object對象列表將需要與它們相同數量的logn字節大小相同。唯一的限制來當我們設置一個數組成員的值(類型爲List的 - 它必須是List<Integer>
不是別的什麼)
您可以鍵入鑄List[]
到List<Integer>[]
但最終的結果和JVM行爲是相同。
爲什麼有人需要這個混亂? – 2013-03-26 12:32:04
在生產級別java中,沒有人會要求這樣做(我們都是關於集合和集合的集合),但它是思考的好去處。 – 2013-03-26 12:37:45
沒有人使用數組,除非他們'需要'使用基元。如果將它們保存在堆棧中,則java中的數組可能會很有用。 – 2013-03-26 12:39:46
你可以做List<Integer> a=new ArrayList<Integer>();
但不應該是通用的
數組和仿製藥不順利起來。 – NPE 2013-03-26 12:00:24
什麼是?它是一組列表 –
2013-03-26 12:00:33
爲什麼你甚至需要這樣的構造? (除了面試或考試問題...) – ppeterka 2013-03-26 12:03:07