-1

我想知道哪些 Java 集合类型的遍历速度最快。我最感兴趣的收藏是...

  1. 大批
  2. 链表
  3. 队列
  4. 优先链表
  5. 哈希映射
4

1 回答 1

2

实际上在 Collection 接口的具体类中,遍历数组会很快。这是因为您知道它使用元素的索引进行遍历。由于它遵循索引模式,因此遍历索引使我们的遍历速度更快。为什么不是其他人?让我一一解释..

1. LinkedList : LinkedList 遵循插入顺序。如果您遍历数据并搜索元素,则对于每个元素,它将从头开始搜索。所以遍历变得很慢。

2.队列:LinkedList和PriorityQueue是Qu​​eue的两个具体类。优先级队列的元素根据其自然顺序排序,或者由队列构建时提供的 Comparator 排序,具体取决于使用的构造函数。不保证以任何特定顺序遍历优先级队列的元素。如果需要有序遍历,考虑使用 Arrays.sort(pq.toArray())。因此,如果您在没有明确排序的情况下进行遍历,则它对于遍历提供的遍历变得无用。

3. HashMap:如果使用 Map 而不是 Collection ,这里不能保证遍历,因为它适用于关键元素的 hashcode。所以这里再次遍历变得无用。您可以通过提供元素的键值来直接搜索元素。

4. PriorityLinkedList:Java API 中不存在此类。

于 2012-04-08T11:25:55.640 回答