例如 我需要在哪裏我的ArrayList應該在每個索引處包含hashmap,例如如何避免在java中循環中頻繁創建對象?
Public class Testing { private ArrayList < < HashMap< String, String>> myData ; public static void main(String[] args) { myData = new ArrayList < HashMap < String, String>>(); initialize(); //After initialize myData should contain different Hashmaps. } public static void initialize() { for (int i= 0; i < 10 ;i++) { myMap = new HashMap(); //Bad because,creating Objects inside the loop. myMap.put("title", "abc"+i); //Adding i, just to show that new values are stored everytime myMap.put("name", "xyz"+i); myData.add(myMap); } } }
上面的代碼將創建哈希表對象的每一次循環中, 有什麼更好的方式來做到這一點,這樣我可以避開對象的創建每一次? 我在Android中使用此代碼,但我認爲這是更一般化,並與Java更多。
你爲什麼要避免它?現代JVM非常擅長這一點。你有證據表明這是你的應用程序的問題嗎? – skaffman 2011-02-16 08:45:53
好的,我在android,移動操作系統中使用這段代碼,這裏垃圾收集器不時地踢,所以必須避免創建對象以獲得性能和最佳內存使用。 – sat 2011-02-16 08:49:22