मैं thisसंशोधित जावा ArrayList पर
के लिए इसी तरह कुछ करने के लिए हालांकि चाहते पुनरावृत्ति करते हुए, मैं चाहता हूँ जोड़ा तत्वों से अधिक दोहराया जा सकता है। असल में मेरे पास अंतर्निहित सरणीसूची है, और मैं सरणीसूची पर एक इटरेटर लौटाता हूं। उस इटरेटर का उपयोग करते हुए पुनरावृत्ति करते समय, मैं मूल सरणी सूची में तत्व जोड़ना चाहता हूं। मैं यह कैसे करु?
संपादित करें: इसके साथ समस्या यह है कि मुझे पुनरावृत्त कोड द्वारा संशोधित पुनरावर्तक में ऑब्जेक्ट्स की आवश्यकता है। मुझे नहीं लगता कि सरणी सूची क्लोनिंग काम करेगी ...
EDIT2: यहां मेरे कोड का एक अलग-अलग संस्करण है।
public class Map {
// a bunch of code
private ArrayList<Robot> robots;
public Iterator<Robot> getRobots() {
return robots.iterator();
}
public void buildNewRobot(params) {
if(bunchOfConditions)
robots.add(new Robot(otherParams);
}
// a bunch more code
}
और यहां नक्शा किसी अन्य वर्ग में उपयोग किया जा रहा है।
for(Iterator<Robot> it = map.iterator(); it.hasNext();){
Robot r = it.next();
// a bunch of stuff here
// some of this code modifies Robot r
if(condition)
map.buildNewRobot(params);
}
यदि आप प्रासंगिक कोड – ggreiner
जोड़ा गया कोड प्रदान करते हैं तो यह सहायक होगा। इसे छोड़ने के लिए खेद है। – BlackSheep