Java数组

一.一维数组

        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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值