2011-10-28 42 views
26

Tôi là người mới bắt đầu với java và cần một số trợ giúp.Thêm vào một ArrayList Java

Tôi đang cố gắng chuyển đổi một kiểu dữ liệu trừu tượng Foo là một danh sách liên quan đến một danh sách chuỗi của chuỗi B. Làm thế nào để bạn lặp qua danh sách và thêm mỗi chuỗi vào mảng.

Tôi có thể đang suy nghĩ về nó, nhưng bây giờ tôi đã thua.

Cảm ơn bạn đã trợ giúp trước.

+4

xin vui lòng cho chúng ta thấy các bộ phận của mã của bạn, nơi bạn đang gặp khó khăn – Steven

+1

@Steven : Hoàn toàn đồng ý. Thật khó để biết chính xác bạn đang làm gì. – Akron

Trả lời

4

Bạn sẽ có thể làm điều gì đó như:

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

Khởi tạo một ArrayList mới:

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

lặp trên cấu trúc dữ liệu của bạn (với một vòng lặp for, ví dụ, các chi tiết trên bạn mã sẽ giúp ích.) và cho mỗi phần tử (yourElement):

myList.add(yourElement); 
+2

Tôi nghĩ rằng trong các phiên bản mới nhất của Java, bạn không cần phải chỉ định loại lần thứ hai: 'List myList = new ArrayList <>();' –

1

Vâng, bạn phải lặp lại thứ thô Foo loại trừu tượng của bạn và điều đó phụ thuộc vào các phương pháp có sẵn trên đối tượng đó. Bạn không cần phải lặp qua ArrayList vì đối tượng này tự động phát triển trong Java. (Đừng nhầm lẫn với một mảng bằng các ngôn ngữ lập trình khác)

Đọc được khuyến nghị. Lists in the Java Tutorial

9

Nếu bạn có một ArrayList của String gọi là 'foo', bạn có thể dễ dàng thêm (add) nó để ArrayList khác, 'danh sách', bằng cách sử dụng phương pháp sau đây:

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

cách mà bạn don thậm chí không cần phải lặp lại bất cứ điều gì.

+0

addAll có thể không hoạt động trong trường hợp của tôi vì nó chỉ lấy bộ sưu tập. –

+0

bạn đang nói về trường hợp nào? hãy cụ thể hơn. –

+0

nói int [] foo = {1,2,3} Mã sẽ không biên dịch vì addAll sẽ không lấy các tham số như vậy. JDK 1.7. –

0

cảm ơn vì sự giúp đỡ, tôi đã giải quyết vấn đề của tôi :) Đây là mã có ai cần nó: 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"); 
}  
} 
} 
Các vấn đề liên quan