Java中的數組或列表。哪個更快?
我建議您使用探查器來測試哪個更快。
我個人認為您應該使用列表。
我在大型代碼庫上工作,以前的一組開發人員到處使用數組。它使代碼非常不靈活。將其大塊更改為“列表”后,我們注意到速度沒有差異。
我寫了一個基準測試來比較ArrayLists和Arrays。在我的老式筆記本電腦上,遍歷5000個元素的數組列表的時間為1000次,比同等的數組代碼慢大約10毫秒。
所以,如果你在做什么,但迭代的列表,你做了很多,那么也許它的價值的最優化。否則,我會使用列表中,因為它會更容易,當你這樣做需要優化的代碼。
我確實注意到使用for String s: stringsList它比使用老式的for循環訪問列表要慢50%。走吧,這是我計時的兩個功能。數組和列表中填充了5000個隨機(不同)字符串。
private static void readArray(String[] strings) { long totalchars = 0; for (int j = 0; j < IteraTIONS; j++) {totalchars = 0;for (int i = 0; i < strings.length; i++) { totalchars += strings[i].length();} }}private static void readArrayList(List<String> stringsList) { long totalchars = 0; for (int j = 0; j < IteraTIONS; j++) {totalchars = 0;for (int i = 0; i < stringsList.size(); i++) { totalchars += stringsList.get(i).length();} }}解決方法
我必須在內存中保留數千個字符串才能以Java順序訪問。我應該將它們存儲在數組中還是應該使用某種List?
由于數組將所有數據保存在連續的內存塊中(與列表不同),使用數組存儲數千個字符串會不會引起問題?
相關文章:
1. 百度地圖 - Android app中準備接入地圖sdk,百度VS高德哪個好一點?2. mongoDB批量插入文檔時,運行下面代碼,用MongoVUE查看數據庫,mongo庫中只存在一個文檔?不應該是20個嗎?3. 百度地圖api - Android百度地圖SDK,MapView上層按鈕可見卻不可觸,怎么解決?4. HTML5禁止img預覽該怎么解決?5. javascript - vue 父子組件傳遞數據6. html5 - 需要做一個移動端微信頁面的小游戲,腦子里比較空希望有大神小神稍微指點指點。7. android-studio - 用Android Studio開發基于百度位置服務的Android軟件中遇到jar中沒有主清單屬性的問題8. javascript - 關于圣杯布局的一點疑惑9. javascript - JS如何把回調閉包形參傳遞給外部環境的變量10. javascript - 如何將一個長為365的數組對象按月份切割成12組?
