选择正确的Java集合

时间:2020-02-23 14:36:10  来源:igfitidea点击:

Java提供了多种集合实现供我们选择。通常,我们将始终为编程任务寻找性能最佳的集合,在大多数情况下是ArrayList、HashSet或者HashMap。但是请注意,如果你需要一些特殊的功能,比如排序或者排序,你可能需要一个特殊的实现。这个java集合教程不包括WeakHashMap等很少使用的类,因为它们是为非常特殊的任务而设计的,在99%的情况下不应该被选择。

如果我们需要深入了解特定集合是如何实现的,我们可能需要阅读官方集合框架教程。

首先让我们看看下面的流程图。它将根据要存储到此集合中的数据确定要使用的集合接口。

这里的主要规则是:如果我们需要存储映射到它们的键的值,请转到Map接口,否则,对于可能重复的值使用List,如果我们不希望在集合中出现重复的值,则使用Set接口。

选择正确的Java地图界面

HashMap–如果迭代时的项目顺序对我们不重要,请使用此实现。与TreeMap和LinkedHashMap相比,HashMap具有更好的性能

TreeMap–排序有序,但与HashMap相比速度较慢。根据它的比较器,TreeMap具有键的升序

LinkedHashMap–插入时按键排序

选择正确的Java列表界面

ArrayList–在插入过程中对项目进行排序。ArrayLists上的搜索操作比linkedlist上的搜索操作更快

LinkedList–快速添加到列表的开头,并通过迭代从内部快速删除

选择合适的Java Set接口

HashSet–如果迭代时项目的顺序对我们不重要,请使用此实现。与TreeSet和LinkedHashSet相比,HashSet具有更好的性能

LinkedHashSet–在插入时订购项目

TreeSet–根据它的比较器,具有键的升序