List 集合存储数据的结构
堆栈: 先进后出 例如担架 先进去的 后出来
---------------------------------------------------------------------------------------------------------
队列: 先进的先出 后进的后出
-------------------------------------------------------------------------------------------------------------------------------------
数组: 增删慢 查询快 因为有下标
-----------------------------------------------------------------------------------------------
链表: 增删快 查找慢 因为链表不存在下标
ArrayList 是数组, LinkedList 是链表
ArrayList 和 linkedList 的区别:
ArrayList 底层是数组 查找快 增删慢 因为有下标 所以查找快 因为数组长度不可变 需要 new 一个新数组所以增删慢
LinkedList 底层是链表 查找慢 增删快 因为没有下标 所以查找慢 他们是节点之间的连接 不需要新建一个链表
JAVA 中的数据结构有哪些: 堆栈, 队列 , 数组, 链表
ArrayList 集合
ArrayList 集合数据存储的结构是数组结构. 元素增删慢, 查找快, 由于日常开发中使用最多的功能为查询数据, 遍历数据, 所以 ArrayList 是最常用的集合.
LinkedList 集合
Vector 集合
Vector 集合数据存储的结构是数组结构, 为 JDK 中最早提供的集合. Vector 中提供了一个独特的取出方式, 就是枚举 Enumeration, 它其实就是早期的迭代器
. 此接口 Enumeration 的功能与 Iterator 接口的功能是类似的. Vector 集合已被 ArrayList 替代. 枚举 Enumeration 已被迭代器 Iterator 替代.
Set 接口
那就是 Set 接口, 它里面的集合, 所存储的元素就是不重复的.
Set 接口介绍
查阅 Set 集合的 API 介绍, 通过元素的 equals 方法, 来判断是否为重复元素,
HashSet 集合介绍
查阅 HashSet 集合的 API 介绍: 此类实现 Set 接口, 由哈希表支持 (实际上是一个 HashMap 集合).HashSet 集合不能保证的迭代顺序与元素存储顺序相同.
HashSet 集合, 采用哈希表结构存储数据, 保证元素唯一性的方式依赖于: hashCode() 与 equals() 方法.
HashSet 集合存储数据的结构 (哈希表)
数组和链表的集合体就叫哈希表
hashcode 方法
HashSet 存储图
来源: http://www.bubuko.com/infodetail-3354310.html