ArrayList 与 HashMap

ArrayList 和 哈希图 是 Java 中的两个集合类。尽管它们在收集和组织数据方面具有相同的作用,但它们备份和处理数据的方式却不同。在本文中,我们将看到两者之间的差异和相似之处.

ArrayList 和 HashMap 在 Java

HashMapArrayList 是第一个是哈希表实现,第二个是可以调整大小的动态数组。哈希图 和 ArrayList 是 Java 集合框架中两个最流行的类。两者都用于信息的存储及其实现,使用是完全不同的.
两者的主要区别 ArrayList 和 哈希图 是不是 ArrayList 基于数组索引的结构,而哈希图 是地图中的一种结构,它使用哈希来提取值。

  之间的一些关键区别ArrayList 和 HashMap
  • 第一个区别ArrayList 和 哈希图 是不是 ArrayList 实现接口 列表哈希图 实现 Map in Java.
  • ArrayList 一次备份一个对象 哈希图 保存键和值<键,值>。
  • ArrayList 维护所添加对象的顺序。哈希图 不保证此功能。
  • ArrayList 允许插入重复对象,但是 哈希图 不允许两次插入相同的键,但允许相同的键值。
  • get(index) of ArrayList 是 O(1) 但是 哈希图 get(key) 在最好的情况下可以是 O(1),在最坏的情况下可以是 O(n).

ArrayList 和 HashMap 在 Java 中的相似之处

以下是两者之间的一些共同点 ArrayList 和 哈希图 在 Java:
  • ArrayList 和 哈希图 不同步。在没有外部同步的情况下,不应在多线程程序中使用它们。
  • 迭代 ArrayList 和 哈希图 可以触发一个 ConcurrentModificationException如果结构更改只发生一次 Iterator 被创建。
  • ArrayList allows哈希图 allowsnull 表示键和值.
  • ArrayList 允许重复项目和 哈希图 允许重复值。
  • 在性能方面 ArrayList 如果您知道索引,则具有恒定的读取时间 get()类似于 哈希图 
  • ArrayListHashMap 基于 array.
  • 两个集合 ArrayListHashMap 可以使用 Iterator.