2012-07-16 34 views
9

Tôi đang bối rối về cách sử dụng mảng này theo cách đơn giản. Tôi đã truyền các giá trị từ JSON vào một List và bây giờ tôi cần lấy nó bằng cách sử dụng một vòng lặp (và chỉ vòng lặp) nhưng tôi không biết làm thế nào. Đã cố gắng đọc một số câu trả lời nhưng tôi thấy mình thực sự bối rối cuối cùng. Tôi chỉ muốn nó đơn giản như tạo một mảng String, vòng lặp và tìm nạp dữ liệu bằng cách nhận biến [index] đơn giản như vậy nhưng tất cả các câu trả lời tôi tìm thấy chỉ dẫn tôi vào sự nhầm lẫn. Xin vui lòng giúp đỡ.Lấy giá trị chuỗi từ Danh sách <String> qua vòng lặp để hiển thị

+0

Bạn cần nhiều hơn một foreach? http://www.java2s.com/Code/Java/Language-Basics/ForeachArray.htm – amelvin

Trả lời

22

Như tôi hiểu câu hỏi của bạn ..

Từ Java List lớp bạn phải phương pháp add(E e)get(int position).

add(E e) 

Gắn phần tử được chỉ định vào cuối danh sách này (thao tác tùy chọn).

get(int index) 

Trả về phần tử tại vị trí được chỉ định trong danh sách này.

Ví dụ:

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

đã cố gắng này ạ. hmm. Hảy để tôi thấy. Tôi sẽ sao lưu kiểm tra phân tích cú pháp JSON của tôi có lẽ phần đó là một phần mang lại cho tôi một vấn đề. sẽ quay lại sau. Cảm ơn! – KaHeL

+0

Điều này giúp tôi và nó rất đơn giản. Dù sao cũng giúp tôi nhận thấy rằng tôi quên thêm quyền truy cập internet trong Tệp kê khai Android của tôi. haha! Nghe có vẻ điên rồ nhưng câu trả lời này thực sự giúp tôi nhận ra điều đó. Cảm ơn một lần nữa. – KaHeL

+0

Chào mừng Buddy ..! Happy Coding ..! – user370305

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 Giải pháp tốt. –

+0

Cảm ơn câu trả lời thưa ngài. nhưng tôi vẫn thích câu trả lời của user370305 do không thân thiện. Vâng tôi là người noob. Cảm ơn một lần nữa. – KaHeL

1

Sử dụng Ví-Mỗi vòng lặp mà đi kèm với Java 1.5, và nó làm việc trên các loại đó là iterable.

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

Câu trả lời của bạn chỉ giống như câu trả lời của user370305. Dù sao cũng cảm ơn. – KaHeL

+0

Vâng, nếu vấn đề là về iterating trên một bộ sưu tập câu trả lời sẽ giống nhau, nhưng tôi nghĩ rằng u bỏ lỡ dòng in đậm, thats cho một thông tin rất quan trọng, và tôi nghĩ rằng user370305 didnt đã cho nó ... –

+0

Và cả hai câu trả lời ở trên đang sử dụng cho vòng lặp, nơi tôi đang sử dụng cho mỗi, câu hỏi là về iterating qua bộ sưu tập, do đó, làm thế nào đến cùng của nó? –

1

Hãy thử theo dõi nếu bạn đang tìm kiếm trong khi thực hiện vòng lặp.

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

trả lời nếu bạn chỉ muốn sử dụng cho mỗi vòng lặp ..

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 sẽ

One 
Two 
Three 
Các vấn đề liên quan