Java 数组常用方法大全

注意:此处的(,)也算一个字符串
一维数组的创建方法:

方法一:
使用如下:

String[] arr;
arr = new String[5];

方法二:
使用如下:

int[] arr = new int[6];

方法三:
使用如下:

int[] arr={1,5,6,8,2,3,7};

二维数组的创建方法:

方法一:
使用如下:

int[][] arr = new int[5][3]; // 包含5个一维数组,每个一维数组的长度为3
int arr = new int[5][3];
arr[1][1] = 1; // 将1存入第2个一维数组中的第2个元素中

方法二:
使用如下:

int[] arr[] = new int[4][];// 包含4个一维数组,每个一维数组的长度不固定
arr[0] = new int[5];
arr[1] = new int[2];
arr[2] = new int[7];
arr[3] = new int[9];

方法三:
使用如下:

int[][] arr = { {1, 2, 3}, {456}, {78910} };

数组的基本类型:int, boolean, char, long, float, double, short, byte

1.clone()方法: 创建并返回此对象的副本。
使用如下:

int [] arr = {7, 8, 9};
int [] cloneArr = arr.clone();//调用数组的clone()方法,将数组复制一份,并让cloneArr指向复制出来的数组
cloneArr[2] = 888;
System.out.println(Arrays.toString(arr));//[7, 8, 9]
System.out.println(Arrays.toString(cloneArr));//[7, 8, 888]

2.equals()方法: 指示一些其他对象是否等于此。
使用如下:

int[] arr1 = {123};
int[] arr2={123};
System.out.println(arr1.equals(arr2));//false   因为这两个数组没有指向同一个内存地址
int[] arr3=arr1; 
System.out.println(arr1.equals(arr3));//true

3.Arrays.equals() 如果两个指定的数组彼此 相等 ,则返回true。
使用如下:

int[] arr1 = {123};
int[] arr2={123};
System.out.println(Arrays.equals(arr1,arr2));//true

4.hashCode()方法: 根据指定数组的内容返回哈希码。
Arrays.hashCode() 方法:根据指定数组的内容返回哈希码。
使用如下:

int[] arr1 = {1};
System.out.println(arr1.hashCode());//1915503092
System.out.println(Arrays.hashCode(arr1));//32

5.toString()方法: 返回对象的字符串表示形式。
Arrays.toString() 方法:返回指定数组的内容的字符串表示形式。
使用如下:

int[] arr = {1};
String arrString = Arrays.toString(arr);
System.out.println(arr);// [I@722c41f4   直接输出,为内存地址
System.out.println(arrString );// [1]

使用:
6.getClass()方法: 返回此 Object的运行时类。
使用如下:

int a[][] = {{1},{2}};
System.out.println(a.getClass());//class [[I
System.out.println(a.getClass().getName());//[[I  几维数组就有几个[

7.Arrays.asList() 方法: 返回由指定数组支持的固定大小的列表。 或判断数组中是否有指定字符串
使用如下:

String[] arr={"1","2","3"};
//作用一
System.out.println(Arrays.asList(arr));//[1, 2, 3]
//作用二
System.out.println(Arrays.asList(arr).contains("2"));//true

8.Arrays.binarySearch() 方法: 使用二进制搜索算法搜索指定值的指定数组内容。要求被查找的一维数组必须是有序的,否则结果是错误的
使用如下:

String[] arr={"1","2","3"};
int[] a = {5,1,2,3,6,4};
Arrays.sort(a);
System.out.println(Arrays.binarySearch(a,4));//3
System.out.println(Arrays.binarySearch(a,1,5,4));//3       对查询的东西指定范围(1,5)为范围

9.Arrays.copyOf() 方法: 复制指定的数组,用零截取或填充(如有必要),以便复制具有指定的长度。
使用如下:

String[] arr={"1","2","3"};
int [] arr = {1,9,3,7};
int [] arr1=Arrays.copyOf(arr,6);
System.out.println(Arrays.toString(arr1));//[1, 9, 3, 7, 0, 0]

10.Arrays.copyOfRange() 方法: 将指定数组的指定范围复制到新数组中。
使用如下:

String[] arr={"1","2","3"};
//作用一
int [] arr = {1,9,3,7};
int [] arr2=Arrays.copyOfRange(arr,1,3);//范围包含1不含3
System.out.println(Arrays.toString(arr2));//[9, 3]

11.Arrays.deepEquals() 方法: 如果两个指定的数组彼此 深度相等 ,则返回 true 。
使用如下:

int a[][] = new int[][]{{0}, {1, 2, 3, 5, 4}};
int b[][] = new int[][]{{0}, {1, 2, 3, 5, 4}};
int c[][] = new int[][]{{0}};
System.out.println(Arrays.deepEquals(a, b));//deepEquals适用于多层次,true
System.out.println(Arrays.deepEquals(a, c));//false

12.Arrays.deepHashCode() 方法: 根据指定数组的“深度内容”返回哈希码。
使用如下:

String[] arr={"a","b","c"};
int a=Arrays.deepHashCode(arr);
System.out.println(a);//126145

13.Arrays.parallelPrefix() 方法: 使用提供的功能,并行地计算给定阵列的每个元素。
使用如下:

int[] a = {2,8,51,13,46,11,22};
Arrays.parallelPrefix(a, new IntBinaryOperator() {
@Override
public int applyAsInt(int left, int right) {
//除下表为0的元素以外所有元素扩大二倍
return 2*right;//修改的值是1---length-1,位置0的元素不会被修改
    }
});
System.out.println(Arrays.toString(a));//[2, 16, 102, 26, 92, 22, 44]

14.Arrays.fill() 方法: 将指定的字节值分配给指定字节数组的每个元素。
使用如下:

int[] arr=new int[3];
Arrays.fill(arr,6);
System.out.println(Arrays.toString(arr));//[6, 6, 6]

15.Arrays.parallelSetAll() 方法: 使用提供的生成函数来并行设置指定数组的所有元素来计算每个元素。
使用如下:

int[] a = {2,8,51,13,46,11,22};
Arrays.parallelSetAll(a, new IntUnaryOperator() {
@Override
public int applyAsInt(int operand) {
return operand*2;
    }
});
System.out.println(Arrays.toString(a));//[0, 2, 4, 6, 8, 10, 12]

16.Arrays.parallelSort() 方法: 按照数字顺序排列数组的指定范围。
使用如下:

int[] a = {1,8,51,13,46,11,22};
Arrays.parallelSort(a);
System.out.println(Arrays.toString(a));//[1, 8, 11, 13, 22, 46, 51]

17.Arrays.setAll() 方法: 使用提供的生成函数来计算每个元素,设置指定数组的所有元素。
使用如下:

int[] a = {2,8,51,13,46,11,22};
Arrays.setAll(a, new IntUnaryOperator() {
@Override
public int applyAsInt(int operand) {
return operand*2;
    }
});
System.out.println(Arrays.toString(a));//[0, 2, 4, 6, 8, 10, 12]

18.Arrays.sort() 方法: 按照数字顺序排列指定的数组。
使用如下:

//作用一
int[] arr1={1,9,3,7};
Arrays.sort(arr1);
System.out.println(Arrays.toString(arr1));//[1, 3, 7, 9]
//作用二
int[] arr2={1,9,3,7,2,5};
Arrays.sort(arr2,1,4);//范围包含1不包4
System.out.println(Arrays.toString(arr2));//[1, 3, 9, 7, 2, 5]

19.Arrays.stream() 方法: 返回顺序IntStream与指定的数组作为源的指定范围。
使用如下:

//作用一
int[] a = {2,8,51,13,46,11,22};
IntStream stream = Arrays.stream(a);
System.out.println(Arrays.toString(stream.toArray()));//[2, 8, 51, 13, 46, 11, 22]
System.out.println(Arrays.toString(a));//[2, 8, 51, 13, 46, 11, 22]

20.length()方法: 获得此数组的长度
使用如下:

//作用一
int[] arr={1,5,6,8,2,3,7};
System.out.println(arr.length);//722]
  • 34
    点赞
  • 249
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值