2013-01-20 40 views
15

Tôi có các giá trị mà tôi muốn thêm vào một ArrayList để theo dõi những con số nào đã hiển thị. Các giá trị là số nguyên vì vậy tôi đã tạo ra một ArrayList;Java ArrayList cho các số nguyên

ArrayList<Integer[]> list = new ArrayList<>(); 
int x = 5 
list.add(x); 

Nhưng tôi không thể thêm bất kỳ thứ gì vào ArrayList bằng phương pháp này. Nó hoạt động nếu tôi sử dụng Strings cho danh sách mảng. Tôi có phải làm cho nó một mảng String và sau đó bằng cách nào đó chuyển đổi mảng thành số nguyên?

EDIT: Tôi có một câu hỏi khác. Tôi muốn danh sách chỉ chứa 3 giá trị. Tôi sẽ làm như thế nào?

+1

Với generics: Danh sách myList = new ArrayList (); – Spen

Trả lời

46

Danh sách Integer.

List<Integer> list = new ArrayList<>(); 
int x = 5; 
list.add(x); 
+4

Cảm ơn bạn, cảm thấy ngu ngốc vì không thấy điều đó. – user1692517

+0

Tôi có một câu hỏi khác. Tôi muốn danh sách chỉ chứa 3 giá trị. Tôi sẽ làm như thế nào? – user1692517

+0

Danh sách là mảng phát triển năng động. bạn có thể thêm n số giá trị vào danh sách. –

5

Bạn đang cố gắng để thêm một số nguyên vào một ArrayList mà phải mất một mảng các số nguyên Integer[]. Nó phải là

ArrayList<Integer> list = new ArrayList<>(); 

hoặc tốt hơn

List<Integer> list = new ArrayList<>(); 
+1

Khi bạn sẽ hướng dẫn OP (hoặc ai đó khác) về lập trình cho giao diện, vui lòng tham khảo [Chương trình giao diện có nghĩa là gì?] (Http://stackoverflow.com/q/383947/1065197) . –

+0

"OP" có nghĩa là gì? Tôi thấy nó gần như mọi nơi, nhưng tôi không thể tìm thấy ý nghĩa – Hengameh

+0

Bản gốc áp phích/Nhà xuất bản gốc –

0

bạn không nên sử dụng Integer[] mảng bên trong danh sách như ArrayList chính nó là một loại mảng. Chỉ cần rời khỏi [] và nó sẽ hoạt động

2

bạn không tạo danh sách mảng cho số nguyên, nhưng bạn đang cố tạo danh sách mảng cho mảng số nguyên.

vì vậy nếu bạn muốn mã của mình hoạt động vừa được đặt.

List<Integer> list = new ArrayList<>(); 
int x = 5; 
list.add(x); 
0

Thực ra những gì bạn làm cũng không sai khi khai báo của bạn là đúng. Với khai báo JVM của bạn sẽ tạo ra một ArrayList của các mảng số nguyên, tức là mỗi mục nhập trong arraylist tương ứng với một mảng nguyên do đó hàm add của bạn sẽ truyền một mảng nguyên như một tham số.

Đối với Ex:

list.add(new Integer[3]); 

Bằng cách này nhập đầu tiên của ArrayList là một mảng số nguyên có sức chứa tối đa ở 3 giá trị.

0

[] không có ý nghĩa trong thời điểm tạo ArrayList của số nguyên vì tôi tưởng tượng bạn chỉ muốn thêm giá trị số nguyên. Chỉ cần sử dụng

ArrayList<Integer> list = new ArrayList(); 

để tạo ArrayList và nó sẽ hoạt động.

Các vấn đề liên quan