ArrayList 与 HashMap
ArrayList 和 哈希图 是 Java 中的两个集合类。尽管它们在收集和组织数据方面具有相同的作用,但它们备份和处理数据的方式却不同。在本文中,我们将看到两者之间的差异和相似之处.ArrayList 和 HashMap 在 Java
HashMap 和 ArrayList 是第一个是哈希表实现,第二个是可以调整大小的动态数组。哈希图 和 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()类似于 哈希图
- ArrayList 和 HashMap 基于 array.
- 两个集合 ArrayList 和 HashMap 可以使用 Iterator.