什么是数组
数组是是数据结构的一种,他是由线性表装有相同类型的一组数据 ,他是一种连续的内存空间
线性表:有方向的,只有前后两个方向
非线性表:不同方向的数据结构,没有前后关系!
数组中的计算机寻址
Array[i] = Base_address + i*Typeleng
效率中的O()表达的意思
在数据 中查找 数据 的速度可以分为0(级别),
O(1),表示我通过1次运算就可以直接得到我想要的,这个效率为最快,称为01,一般来说我们通过数组的下标来查询数据的位置,得到数据 这种就属于0(1)级别的
0(n)表示 我通过几次运算才能得出我相要的就称为O几
0(log)当数据扩大到256倍时,以二分法为例,我只需要查询 256的对数就能找到相应的结果 ,这个就称为0(log)级别
为什么大多数编程中,数组都从0开始编号呢
1方便:方便寻址:想找到一个数组中的元素地址时,公式为Array[i] = Base_address + iTypeleng,如果以1为初始值时,那么:Array[i] = Base_address + i-1Typeleng,
那这样cpu就会多操作一个指令
2方便,在最初的c语言中,都是设计为0为下标,后来为了c语言的程序员能更好的学习java等其他语言,所以其他语言延用了c的习惯
字符数组和字符串有区别
在Java中字符 数组 不等于字符 串
char[] 字符数组
String 字符串
数组内存
数组遍历
前者可以很好的取得下标
后者直接取出 元素
数组工具类的方法
Arrays.toString();