一.一维数组
1.简单for循环遍历数组,利用foreach循环,是对数组中每个元素执行相同的操作。不能以其它顺序执行。
2.若要将一个数组赋值给另一个数组,有三种方法:
①循环语句
②System的类中方法arraycopy,这个命名违反了命名习惯
③利用clone方法,相当于创建了一个新的数组其中的元素也相同。
3. 传递数组作为函数的参数时,利用参数名直接将地址起始位置传入。返回值是数组时,同样传回数组的引用。(小tips:获取随机字母方法:利用RandomCharacter类中的函数getRandomLowerCaseLetter())
4.开辟数组利用new字符,且创建后大小不可改变。
5.若作为参数的数组长度可变时,利用参数列表parameterName(类型名...参数名),传入后java会将参数赋值到新的数组,可以利用参数名访问。
6.二分查找:仅针对已有顺序的数组。先对数组中间值判读,小于则在左半部分继续判读,大于则在右半部分继续判断。
int low=0;
int high=array.length-1;
while(high>=low){
int mid=(low+high)/2;
if(array[mid]=target)
return mid;
else if(array[mid]<target)
low=mid+1;
else high=mid-1;
}
return -1;
(简单示例)扩充:return 0代表程序结束,return -1代表方法结束,return 1代表终止。
7.选择排序:每次选择最小或者最大的放到数组开头。
int []array=new int[]{1,2,3};
for(int First: array){
int min=First;
for(int Second=First+1;Second<array.length-1;Second++){
if(array[min]>array[Second]{
min=Second;
}
}
int temp=array[First];
array[First]=array[min];
array[min]=temp;
}
8.Arrays类。
①排序:sort or parallelSort方法。
②查找:二分法,binarySearch,前提是升序序列。不存在则返回-(插入点下表+1)。
③比较:equals方法。
④填充:fill方法。
int []array=new int[]{1,2,3,4,5};
//排序
java.util.Arrays.sort(array);
java.util.Arrays.parellelSort(array);
//二分法查找
int Index=java.util.Arrays.bianrySearch(array,5);
//判断是否相同
int []array2=new int []{1,2,3,4,5};
System.out.println(java.util.Arrays.equals(array,array2));
//填充
int []array3=new int[5];
java.util.Arrays.fill(array3,5);//用5填充整个数组
java.util.Arrays.fill(array3,1,5,5);//用5填充1到5-1位置
二.二维数组以及多维数组
1.二维声明:类型名+[size][]+数组名;第一维大小必须确定。
获取数组长度利用length,返回的是第一维数组的个数,而第二维指的是第二层数组。
2.锯齿数组:数组的长度不同,形状类似于锯齿。
3.多维数组相当于低一维数组构成的数组。
——————————分割线
书上的知识就这么多了。2022/10/30.