2014-10-22 55 views
0

否則如果發生ArrayList的ArrayList。如何刪除數組內的intem?

整數ArrayList的ArrayList和我想刪除ArrayList中只有一個索引?

例如:

  1 -> [3,1,8,9] 
ArrayList 2 -> [0,2,4,5] 
      3 -> [9,3,4,5,5,9,0] 

祝除去的ArrayList 2的第一索引是零(0)。

如果我使用

ArrayList.remove(2),它會刪除所有的第一個位置。那是[0,2,4,5]。但我只想刪除第一個位置。數字爲0.

如何繼續?

在這種情況下,我的塊代碼是:

for (int i = 0; i < conta.size(); i++) 
    { 

    listaRepetida2[conta[i]].remove(conta[i+1]); 
    listaRepetida2[conta[i]].remove(conta[i+1]); 
    /*   
    listaRepetida2.get(conta.get(i)).remove(conta.get(i+1)); 
    listaRepetida2.get(conta.get(i)).remove(conta.get(i+1)); 
     */ 
    i+=2; 
    } 

CONTA,得到listaRepetida的索引[i] [j],將它從被刪除。

+0

陣列或的ArrayList?他們是不同的東西 – khelwood 2014-10-22 10:54:13

回答

3

你得到內部列表是在索引1:

List<Integer> innerList = outerList.get(1); 

然後刪除它的第一個元素:

innerList.remove(0); 

或者,在一個指令:

outerList.get(1).remove(0); 
0

首先,您應該讀取要從中移除元素的數組。你這樣簡單地使用onstruct:

arr.get(2).remove(0); 
+0

指數是基於零的,即使OP列舉它們1,2,3 ... – 2014-10-22 11:07:33

0

看到它;

我的代碼(不要刪除):

import java.util.ArrayList; 

public class RemoveRepetidas 
{ 
    ArrayList<ArrayList<Integer>> listaRepetida = new ArrayList<ArrayList<Integer>>(); 

    RemoveRepetidas (ArrayList<ArrayList<Integer>> _listaRepetida) 
    { 
    this.listaRepetida = _listaRepetida;  
    } 


    String removeRepetida() 
    {  
     System.out.println(this.listaRepetida); 
     ArrayList<Integer> conta = new ArrayList<Integer>();   
     ArrayList<ArrayList<Integer>> listaRepetida2 = listaRepetida; 


      for (int i = 0; i < listaRepetida2.size(); i++) 
      {     
       for (int j = i+1; j < listaRepetida2.size(); j++) 
       {   
        for (int k = 0; k < listaRepetida2.get(i).size(); k++) 
        {  
         for (int l = 0; l < listaRepetida2.get(j).size(); l++) 
         {   
          if (
           (listaRepetida2.get(i).get(k) == listaRepetida2.get(j).get(l) && listaRepetida2.get(i).get(k+1) == listaRepetida2.get(j).get(l+1)) || 
           (listaRepetida2.get(i).get(k+1) == listaRepetida2.get(j).get(l) && listaRepetida2.get(i).get(k) == listaRepetida2.get(j).get(l+1)) 
          ) 
           { 
            conta.add(j); 
            conta.add(l); 
           } 

           l++; 
         } 

         k++; 
        } 
       } 
      } 

      for (int i = 0; i < conta.size(); i++) 
      { 
       //This does not remove 
       listaRepetida2.get(conta.get(i)).remove(conta.get(i+1)); 
       listaRepetida2.get(conta.get(i)).remove(conta.get(i+1)); 
       i+=2; 
      } 

      String texto = "{"; 
      texto += "}"; 

      System.out.println(listaRepetida2); 

      return texto; 
    } 
} 
+0

arrayList Conta,得到兩個索引的: one - >獲取ArrayList的索引father two - > Get index ArrayList很快刪除 – 2014-10-22 11:20:34