数组:
长度固定,不可变
所有元素的类型一致。
元素类型可以为任意类型
通过下标来引用相关元素。下标不能超过length-1(length:1.数组:a.length;容器:a.size();包装类:Integer.SIZE;String:str.length();文件:file.length()?
数组也是对象(Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中存储的)。数组的元素可以看做对象的成员变量。所以,成员变量自动初始化的规则也适用于数组元素。
多维数组(一般使用容器):数组的元素是数组。a=new int[2][];a[0]=new
int[2];a[1]=new int[3];
数组的三种初始化的方式:
动态初始化:数组定义(声明)与为数组元素分配空间并赋值的操作分开进行。
静态初始化:除了用new关键字来产生数组以外(new也是??),还可以直接在定义数组的同时就为数组元素分配空间并赋值。
int[] a = {2,3,4}
默认初始化
Arrays类(操作数组的工具类):包含了对数组元素的排序、查找。
算法:
冒泡排序
二分法
声明与内存分配:
1.声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。
2. 声明一个数组的时候并没有数组真正被创建。
一些函数:
System类里也包含了一个static void arraycopy(object src,int srcpos,object
dest, int destpos,int
length)方法,该方法可以将src数组里的元素值赋给dest数组的元素,其中srcpos指定从src数组的第几个元素开始赋值,length参数指定将src数组的多少个元素赋给dest数组的元素。
Arrays类(import java.util.Arrays;):
fill填充替换:用同一个值对数组进行填充。
toString()方法是Arrays类的静态方法,不是前面讲的Object的toString()方法。返回[1,2,3]
sort排序
copyOf/copyOfRange复制
binarySearch查询:二分搜索法
算法!!!!!!!!!