Java 基础 —— HashMap之数组和链表
Java 基础 —— HashMap之数组和链表
HashMap优点
- 快速索引
首先来认识数组和单链表,知道它们的优缺点,再介绍HashMap
数据结构 —— 数组
优缺点
优点
- 连续的内存,通过下标可以快速寻址;
缺点 - 插入节点困难(在上述途中,270是后来插入的,需要按顺序插入到268与289之间,所以将289和320后移,才可以将270插入)
数据结构 —— 单链表
定义
包含Head和Tail,分别指向单链表头部和尾部
- 如图,头部指向100,尾部指向289
如上图,在289后面插入300,在268与289之间插入270,只需要让Next指向我想插入的值之后即可,不过它依然存在缺点:如果要去查找单链表中某一个值是否存在在单链表之中,需要遍历单链表,从Head(头)节点遍历到Tail(尾)节点,查询较困难,查询时间复杂度是O(n),但是插入较为方便;
优缺点
- 优点
插入和删除数据方便; - 缺点
查询效率低,时间复杂度是O(n);