2012-07-16 65 views
9

我很困惑如何以簡單的方式使用此數組。那麼我已經將JSON中的值傳遞給一個List,現在我需要使用一個循環來檢索它(只是循環),但我不知道如何。嘗試閱讀一些答案,但最終我發現自己很困惑。我只是想讓它變得簡單,就像創建一個String數組一樣簡單,通過獲取變量[index]來簡化循環和獲取數據,但是我發現的所有答案都讓我感到困惑。請幫助。從列表<String>中獲取字符串值,通過循環顯示

+0

你需要的不僅僅是一個foreach嗎? http://www.java2s.com/Code/Java/Language-Basics/ForeachArray.htm – amelvin 2012-07-16 10:25:08

回答

22

當我明白你的問題..

從Java List類,你不得不方法add(E e)get(int position)

add(E e) 

將指定的元素附加到此列表的末尾(可選操作)。

get(int index) 

返回列表中指定位置的元素。

例子:

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

// How you add your data in string list 
myString.add("Test 1"); 
myString.add("Test 2"); 
myString.add("Test 3"); 
myString.add("Test 4"); 

// retrieving data from string list array in for loop 
for (int i=0;i < myString.size();i++) 
{ 
    Log.i("Value of element "+i,myString.get(i)); 
} 
+0

已經嘗試過這一個先生。哼。讓我看看。我要支持檢查我的JSON解析,也許那個部分是給我一個問題的部分。稍後會回覆你。謝謝! – KaHeL 2012-07-16 10:31:32

+0

這一個幫助我,它很簡單。無論如何,幫助我注意到我忘了在我的android Manifest中添加互聯網訪問權限。哈哈!聽起來很瘋狂,但這個答案真的幫助我注意到它。再次感謝。 – KaHeL 2012-07-16 11:03:49

+0

歡迎夥伴..!快樂編碼..! – user370305 2012-07-16 11:04:36

7
public static void main(String[] args) { 

    List<String> ls=new ArrayList<String>(); 
    ls.add("1"); 
    ls.add("2"); 
    ls.add("3"); 
    ls.add("4"); 

//Then you can use "foreache" loop to iterate. 

    for(String item:ls){ 
     System.out.println(item); 
    } 

} 
+0

+1好的解決方案。 – 2012-07-16 10:29:41

+0

謝謝你的答案先生。但我仍然喜歡user370305的答案,因爲他們很友善。是的,我是小菜一個。再次感謝。 – KaHeL 2012-07-16 11:06:10

1

使用的for-each裏面傳來了Java 1.5,並在其上可迭代類型的工作循環。

ArrayList<String> data = new ArrayList<String>(); 
data.add("Vivek"); 
data.add("Vadodara"); 
data.add("Engineer"); 
data.add("Feelance"); 

for (String s : data){ 

System.out.prinln("Data of "+data.indexOf(s)+" "+s); 

} 
+0

你的答案和user370305的一樣。不管怎麼說,多謝拉。 – KaHeL 2012-07-16 10:32:07

+0

那麼如果問題是關於迭代集合的答案會是相同的,但我認爲你錯過了粗體的行,這就給出了一個非常重要的信息,我認爲user370305沒有給它... – 2012-07-16 10:35:00

+0

而且上面的答案正在使用for循環,我正在使用for each,問題是關於迭代集合,所以它是怎麼來的? – 2012-07-16 10:35:53

1

如果您正在尋找while循環實現,請嘗試以下操作。

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

// How you add your data in string list 
myString.add("Test 1"); 
myString.add("Test 2"); 
myString.add("Test 3"); 
myString.add("Test 4"); 

int i = 0; 
while (i < myString.size()) { 
    System.out.println(myString.get(i)); 
    i++; 
} 
0

答案,如果你只想使用每個循環..

for (WebElement s : options) { 
    int i = options.indexOf(s); 
    System.out.println(options.get(i).getText()); 
} 
0
List<String> al=new ArrayList<string>(); 
al.add("One"); 
al.add("Two"); 
al.add("Three"); 

for(String al1:al) //for each construct 
{ 
System.out.println(al1); 
} 

O/P將

One 
Two 
Three