Tôi sẽ sử dụng trình lặp để lặp qua một tập hợp các đối tượng trong Java. Tôi là một chút bối rối về việc sử dụng một Iterator tuy nhiên (được sử dụng để sử dụng cho mỗi vòng lặp). giả sử tôi có mã như sau:Trong khi lặp qua một tập hợp các đối tượng Java - làm cách nào tôi có thể thay đổi đối tượng hiện tại?
Iterator<Organization> orgIter = orgs.iterator();
while (orgIter.hasNext()) {
Organization orgObj = orgIter.next();
orgObj.setChildOrgsTree(generateOrgChildTree(orgObj, new ArrayList<Organization>()));
}
Tôi tạo đối tượng mới và sau đó thay đổi các trường bên trong đối tượng. Kế hoạch của tôi là sau đó thiết lập đối tượng ban đầu mà tôi đã tạo thành trình lặp ra bằng một Danh sách đối tượng này mà tôi tạo (Danh sách không được hiển thị ở trên, nhưng tôi đã chỉ ra rằng mình sẽ cần nó).
Nhưng sẽ dễ dàng hơn nhiều nếu tôi không phải tạo một đối tượng mới để thực hiện tất cả điều này. Có cách nào tôi có thể nhận được các đối tượng hiện tại và đột biến đó?
từ ngữ của bạn là khó hiểu .... mã của bạn có chức năng giống hệt nhau để trả lời chấp nhận của bạn. Trong cả hai trường hợp, các đối tượng duy nhất được tạo ra là các ArrayLists, và các đối tượng đó sẽ khác nhau cho mỗi cá thể của Tổ chức. Đây là con đường để đi! –
Tôi bối rối, tôi đang tạo trên đối tượng Tổ chức và thiết lập nó bằng lần lặp tiếp theo. Tôi đoán vì đó là biến tham chiếu, tôi vẫn đang biến đổi cùng một đối tượng bộ nhớ vật lý ... – SoftwareSavant
Có sự khác biệt giữa việc khai báo biến và tạo đối tượng. –