[JAVA]集合框架
java集合框架(ArrayList)
List子类的特点
ArrayList:
底层数据结构是数组 查询快 增删慢
线程不安全 效率高
Vector:
底层数据结构是数组 查询快 增删慢
线程安全 效率低
LinkedList:
底层数据结构是链表 查询慢 增删快
线程安全 效率低
Iterator接口
也叫迭代器
主要用于迭代访问(即遍历)Collection中的元素
增强for循环
优点:
不需要获得容器长度
也不要根据索引访问容器中的元素, 它会自动遍历容器中的每一个元素
弊端:
只能访问集合的元素, 不能修改元素
Set接口
HashSet集合
- 底层数据结构是哈希表
- 没有带索引的方法,不能使用普通for循环遍历
- 因为是set集合, 所存储元素是不可重复 , 元素是无序的
哈希表
哈希值
- JDK根据对象的地址或者字符串或者数字算出来的int类型的数值
- public int hashCode(): 返回对象的哈希码值
对象的哈希值特点
- 同一对象对此调用hashCode()方法返回的哈希值是相同的
- 默认情况下,不同对象的哈希值是不相同的
- 通过方法重写,可以实现不同对象的哈希值是相同的
Map接口
双列集合,每一个元素包含一个键对象Key和值对象Value,键和值对象之间存在一种对应关系,称为映射
将键映射到值的对象,不能包含重复的键,每个键可以映射到最多一个值,简单来说就是键相同,值覆盖