一、
1. 一维数组在做查询时的时间复杂度
①. 遍历整个数组时为O(n)
②. 当直接通过数组下标寻找时为O(1)
③. 当数组为有序数组时,采用二分法查找为O(logn)
2. 数据结构的物理存储结构:顺序存储结构和链式存储结构
①. 顺序存储结构:
定义:即存储时,内存地址连续,将逻辑上相邻的元素存储在物理
位置相邻的存储单元中。如数组
优点:无须为表示表中元素之间的逻辑关系而增加额外的存储空间;可以快速地存取表中任意位置地元素;存储空间利用率较高
缺点:插入和删除操作需要移动大量元素;当线性表长度变化较大时,难以确定存储空间的容量;容易造成存储空间的”碎片“
②. 链式存储结构:
定义:即存储时,内存地址不连续,对逻辑上相邻的元素不要求其
物理位置相邻,元素间的逻辑关系通过附设的指针字段来表示,如链表、树、图等等
优点:适合进行插入、删除等操作,灵活性高
缺点:存储空间利用率低
二、HashMap(JDK1.7版)
1.HashMap的数据存储方式为哈希表,也就是数组加链表;它的初始数组容量为16,数组中每个元素都保存着链表头节点的地址(若该位置没有元素则为null);在向HashMap中put(key,value)的时候,先使用hash算法计算哈希值,然后再和数组的长度减一做与运算。计算出此键值对应该保存到数组的那个位置上,如果此位置没有元素,意思就是链表的头结点为null,那么就新建一个node结点,把key,value以及next保存。
三、
1. equals与==的区别:
①. equals一般判断两个变量或者实例指向同一个内存空间的值是否相同。(这里的equals指的是重写过的)
②. ==是判断两个变量或者实例是否指向同一个内存空间
③. 通俗来讲,==是判断两个人是不是住在同一个地址,而equals是判断地址(相同或不同都可以)里住的两个人是不是相同。