JAVA数组

数组是一种线性数据结构,提供高效随机访问但插入和删除成本高。在Java中,数组适合存储和快速访问对象,其时间复杂度为O(1)。然而,数组长度固定,不适合动态大小调整。文章通过一维和二维数组的例子展示了其用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组是一种线性数据结构,是一个使用连续的内存空间存放相同的数据类型的集合容器,与其他容器相比,数组的区别主要在于性能与保存基本类型的能力。
    在Java中,数组是一种效率最高的存储和随机访问对象的方式,通过寻址公式,随机访问的时间复杂可以达到O(1),但是为了保持空间的连续性,在数组中插入、删除数据时,都需要移动后面数据,该操作的时间复杂度为O(n)。另外,由于空间上连续,所以数组对CPU缓存比较友好,借助CPU的缓存机制,预读数组中的数据,提高访问效率。但是,由于数组是定长的,一旦声明之后就不可以改变长度,所以如果长度声明过大或者过小都会造成问题。
    数组与其他种类的容器之间的区别有三个方面呢:效率、类型和保存基本类型的能力。在Java中,数组是一种效率最高的存储和随机访问对象引用序列的方式
一、一维数组:
    public class ArrayTest{

    public static void main(String args[]){

    int i;

    int a[]=newint[5];

    for(i=0;i<5;i++){

        a[i]=i;

    }
    for(i=a.length-1;i>=0;i--){

        System.out.println("a["+i+"]="+a[i]);

    }

    }

    }
二、二维数组:
    public class MatrixMultiply{

     public static void main(String args[]){

     int i,j,k;

     int a[][]=new int [2][3];

     int b[][]={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};

     int c[][]=new int[2][4];

     for (i=0;i<=2;i++)

     for (j=0; j<=3 ;j++)

    a[i][j]=(i+1)*(j+2);

     for (i=0;i<=2;i++){

         for (j=0;j<=4;j++){

            c[i][j]=0;

             for(k=0;k<=3;k++)

             c[i][j]+=a[i][k]*b[k][j];

    }

     }

     for(i=0;i<=2;i++){

     for (j=0;j<=4;j++)

    System.out.println(c[i][j]+" ");

     System.out.println();

    }

 }

 }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值