数组(Arrays)

数组

,若数组未进行赋值则默认数组内元素是0

 一维数组 

1、声明 

//int a[]表示int型数组引用,使用new关键字进行内存分配,然后等于号则表示将引用指向new分配的地址
int a1[] = new int[5];//声明即分配内存
int a2[];a2=new int[5];//先声明再分配内存

2、初始化

//未初始化时,默认数组内元素是0
int a3[]={1,2,3,4};
int a4[]=new int[]{1,2,3};

二维数组

1、声明 

int b1[][]=new int[3][4];
int b2[][]=new int[3][];//每一行的列数可以不相同
b2[0]=new int[1];
b2[1]=new int[2];
b2[2]=new int[3];

2、初始化 

int b3[][]={{1,2,3},{1,2,3}};
int b4[][]=new int[][]{{1,2,3},{1,2,3}};

数组对象常用方法 

1、length:这不是一个方法,表示数组的大小 

2、clone():返回一个新的同类型的同内容的数组的引用

3、equal(另一个数组):比较两个数组指向的地址是否相同(不是比较两个数组的内容是否一样)

数组(Arrays)常用方法:

1、排序

自定义排序方式有两种:关于接口的内容见:抽象类与接口

一种是对象的类实现Comparable接口;另一种是类本身不实现Comparable接口,而是另外写一个类来实现Comparator接口,这个类就是一个比较器,可用于比较两个对象的大小

Arrays.sort(数组a);//从小到大将数组a排序
Arrays.sort(数组a,比较接口);//按照比较接口对数组a进行排序
Arrays.sort(数组a,开始,结束(不包括));//将数组a从下标[开始,结束)从小到大排序
Arrays.sort(数组a,开始,结束(不包括),比较接口);//将数组a从下标[开始,结束)按照比较接口排序
Arrays.parallelSort();//排序方法和sort相同,适用于数据量较多(大于2^18)的情况

2、查找 

Arrays.binarySearch(有序数组a,查找的值val)//返回val在数组a中的下标,若有多个val时,返回的下标随机
Arrays.binarySearch(数组a,开始,结束(不包括),查找的值val)//返回val在数组a中[开始,结束)的下标
Arrays.binarySearch(自定义对象的数组,查找的对象,比较接口)
Arrays.binarySearch(自定义对象的数组,开始,结束(不包括),查找的对象val,比较接口)//返回val在数组中[开始,结束)的下标

 3、比较

Arrays.equals(数组1,数组2);//比较两个数组的内容是否相同
Arrays.equals(数组1,开始1,结束1(不包括),数组2,开始2,结束2(不包括));//比较数组1从开始1到结束1和数组2从开始2到结束2内容是否相同
Arrays.compare(数组a,数组b)//按下标从小到大依次比较大小,若a>b,返回1;若a==b,返回0;若a<b,返回-1
Arrays.compare(数组a,开始1,结束1(不包括),数组b,开始2,结束2(不包括));//在范围内进行比较

4、复制 

Arrays.copyOf(被复制的数组,复制的长度(从下标0开始复制));//返回一个数组的引用
Arrays.copyOfRange(被复制的数组,开始下标,结束下标(不包括结束的下标)) //返回一个数组的引用

5、填充

Arrays.fill(数组a,值val);//将数组a的内容全部变为val
Arrays.fill(数组a,开始下标,结束下标(不包括),值val);//将数组a的从开始到结束的内容变为val

6、转换

Arrays.toString(数组a)//将数组a用字符串表示,例:"[2,2,3]"

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值