Vector vs Arraylist(在非多線程環境中) - 其中要求我們將使用Vector(而不是ArrayList)
一個我知道:如果集合的大小必須動態增加而且很頻繁,通過100%矢量大小的增加和ArrayList 50%在非多線程應用程序中的矢量使用
0
A
回答
0
在單線程環境中,從不使用用戶Vector
。它的方法是「同步的」,這使得它很慢,對ArrayList
很慢。
所以事件如果ensureCapacity
的行爲不同,並且Vector
的大小增加2,每一個操作的成本都不能與ArrayList
操作的成本相比,那就更快了。
1
我覺得你不應該使用矢量,因爲你必須syncronized(also non-threaded environment) ,So Use ArrayList
Vector是syncronized每個操作,不要整個操作和.....並且它也被棄用... Why is Java Vector class considered obsolete or deprecated?
相關問題
- 1. 在多線程應用程序中使用非線程安全的DLL
- 2. 在多線程應用程序中使用向量
- 3. 添加grpof -pg選項使我的多線程應用程序非多線程
- 4. GDB在非線程應用程序中顯示1線程
- 5. 在多線程應用程序中使用內存中的orientdb
- 6. 多線程應用程序
- 7. 多線程應用程序中的System.setproperty
- 8. 多線程應用程序中的SetCurrentDirectory
- 9. Java中的多線程應用程序?
- 10. C++中的多線程應用程序
- 11. 多線程應用程序中的EntityManager?
- 12. 在已經多線程的應用程序中使用OpenMP(libgomp)
- 13. 非線程共享庫非線程應用程序
- 14. 在WPF應用程序中使用XAML矢量圖形
- 15. 在多線程程序中使用exprtk
- 16. 在多線程程序中使用pthread_mutex
- 17. 離線openstreet矢量地圖在Android應用程序
- 18. 並行運行的多線程C++程序使用矢量<thread>和.join()
- 19. 在多線程應用程序中使用OpenSSL
- 20. 在多線程應用程序中使用backgroundworker
- 21. 如何在多線程應用程序中使用aiopg池?
- 22. 在web應用程序中使用多線程
- 23. 如何在多線程應用程序中使用Timer
- 24. 在多線程應用程序中使用GeckoFX
- 25. 如何在多線程應用程序中有效使用RestTemplate?
- 26. 在多線程應用程序中使用Firedac
- 27. 在多線程應用程序中使用MPI
- 28. 在多線程應用程序中使用libmysqlclient
- 29. 使用boost庫在vc6中創建多線程應用程序?
- 30. 記錄在多線程應用程序