数组 优:读取修改快 劣:增加删除慢 原因:数组可以根据下标直接定位到指定位置的数据进行读取和修改,但增加和删除需要开辟一个新数组并移动增加和删除后的数据到新数组并返回。 链表 优:增加删除快 劣:读取修改慢 原因:链表增加和删除只需断开指定位置的两端节点,但读取的时候只能从头/尾开始往另一方向读取。 拓展知识点: 数组和链表迭代的方式不同 ArrayList实现了RandomAccess接口 这是一个标记接口,标注是否可以随机访问 ArrayList使用数组实现,可以随机访问 经过测试 使用for循环遍历ArrayList更快 而LinkedList没有实现这个RandomAccess接口 不支持随机访问,使用迭代器遍历更快 RandomAccess接口的作用。 正是数组和链表各有各的优势,所以引入了散列表,结合了两者的优势尽可能的降低劣势带来的影响。 Hash 哈希:英文是Hash,也称为散列 基本原理就是把任意长度输入,转化为固定长度输出 这个映射的规则就是Hash算法,而原始数据映射的二进制串就是Hash值 Hash特点: 从Hash值不可以反向推导出原始数据...