我想知道什么时候用集和List.On它应该是其基础decided.For例如,当我们面对的是为了应用,在那我应该怎么用? List any = new ArrayList <>(); 或 Set any = new HashSet(); 或LinkedList。如何从List Set中决定应该使用哪个集合?
0
A
回答
2
这一切都取决于你的当前需求
例如,考虑约
一些要点如果您要访问的元素,你将他们以同样的方式,那么你应该使用
List
,因为List
是元素的有序集合。您可以使用get(int index)
方法访问它们,而Set
没有此类方法。无法保证它们的存储顺序。如果你的元素包含重复,然后用
List
因为Set
不允许重复,而如果你的元素是唯一的,那么你可以使用Set
。至于
LinkedList
和ArrayList
被认为是:LinkedList
是缓慢的,因为他们只允许顺序访问。但是如果你的元素大小经常发生变化,那么它们就很好,而如果你的元素的大小是固定的,那么你应该使用ArrayList
,因为它们允许快速的随机读取访问,所以你可以在固定时间内抓取任何元素。- 然而,当你需要大量的删除操作,因为添加或从任何地方卸下但最终需要在整体平移后的元素
ArrayList
并不好。 ArrayList
都没有考虑好,当你有,因为如果你想在中间插入一个新的元素(并保持在同一顺序的所有元素),插入在中间任何那么你将不得不一切后移该位置插入了元素,而LinkedList
中的这种操作仅需要更改一些引用。
看看几个数据结构的特点,根据你的要求,你可以决定你应该使用哪些数据结构。
还看到:
- When to use LinkedList over ArrayList?
- What is the difference between Set and List?
- What Java Collection should I use?
- Insertion in the middle of ArrayList vs LinkedList
相关问题
- 1. 我应该使用哪个集合
- 2. Android集合,我应该使用哪些?
- 3. 应该在哪里使用System.Collections.Concurrent集合?
- 4. 在这种情况下应该使用哪个集合?
- 5. 如何确定在WPF中使用哪个集合
- 6. 你如何决定代码的哪个部分应该被整合/重构?
- 7. 如何指定我想在Modello中使用Set而不是List?
- 8. 集合来自哪里“val Singleton4:Set = set => set == 4”?
- 9. 你如何决定使用哪个ORM?
- 10. DispatchMessage如何决定使用哪个WndProc?
- 11. 我应该如何决定哪个类负责对象创建?
- 12. Hibernate Criteria在restrinction中使用集合(Set)
- 13. 在Set集合中绑定对象
- 14. 要使用哪个集合?
- 15. 在Java中使用哪个集合?
- 16. 我应该在.NET中使用哪个集合接口进行COM-interop?
- 17. 我应该使用什么Java集合?
- 18. 哪个Point2D应该使用
- 19. ASP.NET应该使用哪种类型的集合?
- 20. 如何通过ODBC连接在C#中传递Informix集合参数(LIST,SET,MULTISET)
- 21. 我应该使用哪种设计模式来存储集合?
- 22. 我应该如何从另一个解决方案中引用程序集?
- 23. 哪个字符集应该用于Mysql
- 24. 我应该使用每个集合还是几个集合来发布一个?
- 25. 如何在Spark中注册List集合?
- 26. 我应该在java中选择哪个集合?
- 27. 应该使用哪个sn.exe?
- 28. 我应该在mysql中使用SET NAMES?
- 29. 我应该使用哪些elasticsearch聚合?
- 30. 如何确定应该使用哪个树遍历?
不少各地处理这个问题。看看例如在http://stackoverflow.com/questions/1035008/what-is-the-difference-between-set-and-list,http://stackoverflow.com/questions/322715/when-to-use-linkedlist-over -arraylist – lrnzcig
http://stackoverflow.com/a/21974362/1545775 –