Duyệt collection java trên 1 lớp khác

mọi người cho em hỏi, làm thế nào để duyệt list, arraylist,… trong 1 class khác ạ
ví dụ code em nó như thế này, mà nó in ra được, em tìm nhiều rồi mà vẫn được nên mạng phép lên đây hỏi ạ

import java.util.*;
class number{
	List<Integer> listnumber= new ArrayList<>();
	Scanner scan = new Scanner(System.in);
	void them(){
		int number =1;
		listnumber.add(number);
	}
}
class number2 extends number{
	void xuat() {
		System.out.println("danh sach cua ban");
		for(var i : listnumber) {
			System.out.println(i);
		}
	}
}
class Test{
	public static void main(String args[]) {
		number2 num2 = new number2();
		number num = new number();
		num.them();
		num2.xuat();
	}
}

Ý cậu là, làm thế nào để main method có thể duyệt được collection của object thuộc class number á?
Cậu expose getter từ class number ra là được mà?

class number {
  List<Integer> listnumber= new ArrayList<>();

  // other code...

  public List<Integer> getListNumber() {
    return new ArrayList<>(listnumber);
  }
}

// ở hàm main
number number = new number();
number.them();

for (var obj : number.getListNumber()) {
  // do whatever
}

Hope it helps!

4 Likes

cảm ơn bạn. mình làm được rồi

1 Like

2 object đó khác nhau mà cậu? :smile:
Cậu có thể khai báo static cho listnumber nếu cậu thực sự muốn tất cả các object thuộc class number và subclass của nó dùng chung dữ liệu này. listnumber khi đó là thành viên tĩnh của class.
Cơ mà tớ không nghĩ đó là ý hay đâu.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?