java-数组常用api

Java 数组相关api
 数组array中的api
1.获取数组长度: arrays .length()
在Java中要求一个数组的长度是可以直接用length属性来获取的int []A = {1,2,3}; int len = A.length;
在Java中这种方式就可以直接获取到数组的长度。值得注意的是,在Java中还有一个length()方法。这个方法是针对字符串而言的,只能用来求字符串长度。此外还有一个size()方法,是用来求泛型集合元素个数的。
注意:Java和C++中都有length()和size()方法,这两种语言中的两个方法名字相同但用法却有区别。其中length()都是一样的,求字符串长度,而size()方法在Java中求的是泛型集合的元素个数,在C++中这两个方法作用是一样的。
2.返回指定数组的元素以字符串的形式:arrays.toString();所以toSrting方法可以直接通过类名Arrays调用,可以提取目标数组所有元素,并按顺序转化为字符串
System.out.println(Arrays.toString(newArr));
for(var e:newArr)
{
System.out.print(e+" ");
}
输出:
[1, 2, 4, 5, 6, 6, 5, 4, 7, 6, 7, 5]
1 2 4 5 6 6 5 4 7 6 7 、
3.数组也有对应的增强for语句,语法结构如下:
for(声明变量 :数组名){

}
需要注意的是,必须新声明一个变量,使用声明过的变量是不可以的。
//打印数组的所有元素
for(int i : array){
System.out.println(i) //i依次取数组array每一个元素的值
}
4.System.arraysCopy将源数组sourceArray从下标 index1开始共length个元素复制到数组copyArray之中,copyArray从下标index2开始依次存放复制过来的元素。
需要注意的是,如果length超出了copyArray的长度就会发生异常。
方法原型:
public static void arraycopy(sourceArray, int index1, copyArray,int index2, int length)
包含在System类里

int a[]={1,2,3,4,5};
int b[];
int c[]={9,8,7,6,5,4,3,2,1};
b=new int[5];
System.arraycopy(a,0,b,0,a.length);
System.arraycopy(a,1,c,0,3);//从下标1开始3个元素
运行后
b :[1, 2, 3, 4, 5]
c :[2, 3, 4, 6, 5, 4, 3, 2, 1]
5.arrays.copyOf数组方法:将数组a赋值到数组b中
方法原型:
public static 数组类型 copyOf(数组类型 sourceArray ,int newLength )
包含在Arrays类中
int[] a={1,2,3,4,5};
int [] b=Arrays.copyOf(a,10);
运行后 b: [1, 2, 3, 4, 5, 0, 0, 0, 0, 0]
把源数组sourceArray从下标0开始的newLength个元素复制到一个新的数组中,并返回这个新数组,新数组的长度为newLength
需要注意的是如果newLength大于sourceArray的长度,超出的元素取默认值。

6.copyOfRange 数组方法:
方法原型:
public static(代表不用实例化) 数组类型 copyOfRang(数组类型 original,int from ,int to)
包含在Arrays类中

int[] a={1,2,3,4,5};
int [] b=Arrays.copyOfRange(a,3,10);
运行后 b :[4, 5, 0, 0, 0, 0, 0]
把参数original指定的数组从下标0到下标(to-1)(数组original的第to个元素)
复制到一个新的数组中,新数组长度为to-from。如果to的值大于数组数组original的长度,那么超出部分取默认值。
7.sort:数组排序
方法原型:
public static void sort(数组类型 array)

包含在Arrays类中,可以把数组array按升序排序

方法原型:
public static void sort(数组类型 array, int start, int end)

包含在Arrays类中,可以把参数array中下标start至下标end-1的元素(第end个元素)按升序排序。
int[] a={10,2,30,45,5};
int [] b={9,4,6,20,11,12};
Arrays.sort(a);
Arrays.sort(b,0,3);
运行之后:
a :[2, 5, 10, 30, 45]
b :[4, 6, 9, 20, 11, 12]
8.binarySearch (二分查找)
方法原型:
public static int binarySearch(数组类型 array, 类型 target)
包含在Arrays类中
判断参数target指定的数据是否在参数array指定的数组当中,如果target和数组array中的某个元素相同,该方法就返回该元素的索引(下标),否则返回一个负数。
需要注意的是array必须是已排序好的数组。

int [] b={9,4,6,20,11,12};
Arrays.sort(b);
int x=Arrays.binarySearch(b,20);
if(x>=0){
System.out.println(x); //输出索引
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值