2011-10-28 71 views
26

我是java的初學者,需要一些幫助。添加到ArrayList Java

我想將一個抽象數據類型Foo這是一個關聯列表轉換爲字符串B的Arraylist。你如何遍歷列表並將每個字符串添加到數組。

我可能已經在想它了,但現在我迷了路。

感謝您的幫助提前。

+4

請你在哪裏遇到困難 – Steven

+1

@Steven告訴我們你的代碼的部分: 完全同意。很難知道你到底在做什麼。 – Akron

回答

4

你應該能夠做一些事情,如:

ArrayList<String> list = new ArrayList<String>(); 
for(String s : foo) 
{ 
    list.add(s); 
} 
35

實例化一個新的ArrayList:

List<String> myList = new ArrayList<String>(); 

遍歷你的數據結構(用一個for循環,例如,更多細節上的代碼將有所幫助。)和每個元素(yourElement):

myList.add(yourElement); 
+2

我認爲在最新版本的Java中,你不需要第二次指定類型:'List myList = new ArrayList <>();' –

1

那麼,你必須迭代th粗略的抽象類型Foo,這取決於該對象上可用的方法。您不必循環訪問ArrayList,因爲此對象在Java中自動增長。 (不要將它與其他編程語言中的數組混淆)

推薦閱讀。 Lists in the Java Tutorial

9

如果你有一個String數組列表稱爲「富」,你可以很容易地附加(添加)到另一個ArrayList中,「列表」,使用下面的方法:

ArrayList<String> list = new ArrayList<String>(); 
list.addAll(foo); 

這樣你不甚至不需要循環任何東西。

+0

addAll可能不適用於我的情況,因爲它只需要集合。 –

+0

你在說什麼?請更具體。 –

+0

say int [] foo = {1,2,3}代碼不會編譯,因爲addAll不會使用這些參數。 JDK 1.7。 –

0

感謝您的幫助,我已經解決了我的問題:)下面是代碼,如果任何人都需要它:d

import java.util.*; 

public class HelloWorld { 


public static void main(String[] Args) { 

Map<Integer,List<Integer>> map = new HashMap<Integer,List<Integer>>(); 
List<Integer> list = new ArrayList<Integer>(); 
list.add(1); 
list.add(9); 
list.add(11); 
map.put(1,list);   

    int First = list.get(1); 
    int Second = list.get(2); 

    if (First < Second) { 

     System.out.println("One or more of your items have been restocked. The current stock is: " + First); 

     Random rn = new Random(); 
int answer = rn.nextInt(99) + 1; 

System.out.println("You are buying " + answer + " New stock"); 

First = First + answer; 
list.set(1, First); 
System.out.println("There are now " + First + " in stock"); 
}  
} 
}