数组

一维数组初始化:
动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行
静态初始化:在定义数组的同时就为数组元素分配空间并赋值。

二维数组初始化:
格式1(动态初始化):int[][] arr = new int[3][2];
格式2(动态初始化):int[][] arr = new int[3][];
格式3(静态初始化):int[][] arr = new int[][]{{3,8,2},{2,7},{9,0,1,6}};

数组赋值(测试)

        int[] x,y[];
        x[0] = y;  //no

        y[0] = x; //yes

        y[0][0] = x;//no

        x[0][0] = y;//no

        y[0][0] = x[0];//yes

        x = y; //no

数组排序:
插入排序:直接插入排序、折半插入排序、Shell排序

交换排序:冒泡排序、快速排序(或分区交换排序)

选择排序:简单选择排序、堆排序

归并排序

基数排序

java.util.Arrays类包含了用来操作数组(比如排序和搜索)的各种方法。Arrays拥有一组static方法。
equals():比较两个array是否相等。array拥有相同元素个数,且所有对应元素两两相等。
fill():将值填入array中。
sort():用来对array进行排序。
binarySearch():在排好序的array中寻找元素。
System.arraycopy():array的复制。

代码:

package com.v512.main3;

import java.util.Arrays;

public class Sort {                                 
    public static void main(String[] args) {
        int [] number = {5,900,1,5,77,30,64,700};
        int [] number2 = {50,9000,10,50,770,300,640,7000};

        //判断两个数组是否相等
        System.out.println(Arrays.equals(number, number2));

        /*
        src:源数组;    srcPos:源数组要复制的起始位置;
        dest:目的数组;  destPos:目的数组放置的起始位置;    length:复制的长度。*/
        System.arraycopy(number, 0, number2, 0, 2);
        for(int i = 0; i < number2.length; i++)
            System.out.print(number2[i]);

        System.out.println();
        //数组排序
        Arrays.sort(number);
        for(int i = 0; i < number.length; i++)
            System.out.print(number[i]);

        System.out.println();
        //查询一个值在数组中的位置
        System.out.println(Arrays.binarySearch(number, 64));

        //填充数组
/*      Assigns the specified int value to each element of the specified array of ints.
        Parameters:
        a the array to be filled
        val the value to be stored in all elements of the array*/
        Arrays.fill(number, 0);
        for(int i = 0; i < number.length; i++)
            System.out.print(number[i]);

    }
}

内存结构图:

二维数组结构

数组内存结构

二维数组内存结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值