2017-07-16 69 views
-8
ArrayList[] arr = new ArrayList[5]; 

for(int i=0; i<5; i++) 
{ 
arr[i]= sc.nextInt(); 
} 

現在,給定值增加一個給定的指標,我可以這樣做:我無法理解ArrayList [] = new Arraylist [<size>];宣言。

arr[index].add(value); 

但我怎麼給定的索引中刪除值?

arr [index] .remove();不起作用。它說沒有找到刪除方法()

+0

您的意思是創建數組'ArrayList'?或者只是一個'ArrayList'? – khelwood

+0

這裏只是一個ArrayList –

+0

你正在創建一個ArrayLists數組,可能不是你想要的。嘗試'ArrayList arr = new ArrayList()'或'int [] arr = new int [5]' –

回答

1

不要在您的ArrayList中使用方括號。列表不是數組。

ArrayList<Integer> list = new ArrayList<>(5); 

添加到它與

list.add(sc.nextInt()); 

從它

list.remove(index); 
+0

能否請你解釋ArrayList []和ArrayList <>聲明之間的區別? –

+0

方括號表示該類型的數組。 'ArrayList []'表示一個ArrayLists數組。 –

0

Oracle documentation

「不能創建參數化類型的數組」

刪除

如果要求其進一步含有列表(refer here)列表,然後

List<ArrayList<String>> hs = new ArrayList<>(); 
    for (int i = 0; i < 5; i++) { 
     ArrayList<String> list = new ArrayList<String>(); 
     list.add("Welcome"); 
     list.add(" here"); 
     hs.add(list); 
    } 

而且你的榜樣的工作模式將是這樣的:

 ArrayList[] arr = new ArrayList[5]; 
     for(int i=0; i<5; i++) { 
      if (arr[i] == null) { 
       arr[i] = new ArrayList<>(); 
      } 
      arr[i].add(21); 
     } 
相關問題