2017-06-15 80 views
-3

喜歡標題。我想添加一個項目到數組列表。例如,我有:如何插入項目到陣列

List<String> saveData = new ArrayList(); 

,並

String dataF = "something"; 
saveData.add(0,dataF); 

我認爲,這是正確的代碼插入 'DATAF' 到position'0' 。而且,我添加了多個dataF來定位'0'。但是,當我嘗試記錄saveData的數據時,我只能找到位置爲'0'的數據。我得到:

for (int i=0;i<saveData.size();i++){ 
    Log.i(TAG_LOG,"S Show data: "+saveData.get(i)); 
    } 

    S Show data: c-5-8-8-8-8-true 

和其他位置,它是空的。希望有一次能幫助我或給出解決方案。 更新:我感謝固定傢伙

+0

更好地使用每個循環 – Hema

+0

是的嘗試。但是,我想從鍵盤輸入數據。所以它在這種情況下不起作用 –

+0

@Gaurav你是什麼意思?該API明確指出,這些元素將會移位並且不會被刪除:https://developer.android.com/reference/java/util/ArrayList.html#add(int,E) – Opiatefuchs

回答

1

你看到的位置0的數據,因爲你保存數據只是位置0

下面是將數據添加到列表中的正確方法:

List al = new ArrayList(); 
    al.add(0,"Zara"); 
    al.add(1,"Mahnaz"); 
    al.add(2,"Ayan");  
    System.out.println("The elements are :"); 
    System.out.print("\t" + a1); 

記住的第一個參數是可選的a1.add(0,"Zara");

我建議你跳過第一個參數。

參考:

https://www.tutorialspoint.com/java/java_list_interface.htm

+0

Sr,因爲我的問題不清楚,我的意思是,我想把'新的數據F-一個項目'置於0,並將項目從位置0推到位置1.我嘗試使用ArrayList,但沒有幫助 –

+0

@AkiNoKo所以你想要做'al.add(0, 「Zara」);'並且將「Zara」移到位置0? –

+0

@Aki No Ko:Shakti說的是對的。方法'add(0,「Zara)'將元素添加到位置0,並將所有元素移動到下一個位置,因此,位於位置0的元素現在自動位於位置1上。 ... – Opiatefuchs

0

試試這個來創建這樣

final ArrayList<String> name = new ArrayList<String>(); 

    name.add("1"); 
    name.add("2"); 
    name.add("3"); 
    name.add("4"); 
    name.add("5"); 
    name.add("6"); 
    name.add("7"); 
    name.add("8"); 

數組列表中的元素加入這樣

final EditText editText = (EditText) findViewById(R.id.ed1); 
    Button button = (Button) findViewById(R.id.b1); 

    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      name.add(0, editText.getText().toString().trim()); 
      for(int i=0;i<name.size();i++){ 
       Log.e("Val :-> ",name.get(i)); 
      } 
     } 
    }); 
+0

Sr,因爲我的問題不是很清楚,我的意思是,我想把'new dataF-一個項目'置於位置0,並將項目置於位置0到位置1。我嘗試使用ArrayList,但沒有幫助。除此之外,我想從鍵盤輸入數據。 –

+0

@AkiNoKo檢查我的答案並詢問我是否有任何疑問 –

0

如果按newData到位置0,在位置0的總值將達到1

List<String> saveData = new ArrayList(); 

    saveData.add(0,"0"); 
    saveData.add(0,"1"); 


    for(String a : saveData){ 
     System.out.println(a); 
    } 

結果是1 0

+0

是的,這絕對是我想問的。但是,問題是添加功能在我的情況下不起作用。 p.s:你使用kotlin? cool –

+0

@Aki No Ko .....你有沒有理由不想發佈更多你的項目?我確信(就像我對沙克蒂的回答的評論),你的問題是另一回事。 – Opiatefuchs

+0

@Opiatefuchs sr,但我不這麼認爲。我的意思是,我使用ArrayList列表只是爲了一個目的,當我將某些東西保存到位置0時,這會將位置0中的項目推到位置1.只是它 –