Java数组的常用方法

来源:互联网 发布:网络婚恋诈骗广东 编辑:程序博客网 时间:2024/06/03 18:39

1、length的使用

计算数组长度。

int a[] = new int[3];int length = a.length;


则length的值为3;

2、输出数组

int a[] = {3, 9, 6, 1};System.out.println(Arrays.toString(a));


会输出:


3、复制数组

1)arraycopy方法

它属于System类的一个静态方法


public static void arraycopy(sourceArray, int index1, copyArray, int index2, int length)


将数组sourceArray从索引index1开始的length个元素中的数据复制到数组copyArray中,即将数组sourceArray中的索引值从index1到index1+length-1元素中的数据复制到数组copyArray的某些元素中,copyArray数组从第index2元素开始存放数据。

如果数组copyArray不够内存存放,程序运行将发生异常。

例如:

int[] a = {1, 3, 5, 7}, b={10, 30, 50, 70};System.arraycopy(a, 0, b, 2, 2);System.out.println("数组b的各个元素值为:");System.out.println(Arrays.toString(b));


会输出:


2)copyOf方法

它属于Arrays类的一个静态方法

public static int[] copyOf(int[] original, int newLength)


将参数original指定的数组从索引0开始的newLength个元素复制到一个新数组,并返回这个新数组,且该新数组的长度为newLength。

若newLength的值大于original的长度,新数组第original.length索引开始的元素取默认值。
例如:

int[] a = {3, 9, 6, 1}, b;b = Arrays.copyOf(a, 5);System.out.println("数组b的长度为:" + b.length);System.out.println("数组b各个元素的值为:");System.out.println(Arrays.toString(b));


结果为:

3)copyOfRange方法

与copyOf类似,不过它可以将数组中的部分元素复制到另一个数组。

public static int[] copyOfRange(int[] original, int from, int to)


将参数original指定的数组从索引from至to-1的元素复制到一个新数组中,并返回这个新数组,该新数组长度为to-from。

若to的值大于数组original的长度,新数组第original.length-from索引开始的元素取默认值。

4、排序

Arrays类的静态方法

1)全部排序

public static void sort(int a[])


可以把参数a指定的int型数组按升序排列。


2)部分排序

public static void sort(int a[], int start, int end)

可以把参数a 指定的int型数组从索引start至end-1的元素升序排列。

5、二分查找

Arrays类的静态方法

public static int binarySearch(int[] a, int number)

使用该方法前需将数组排序。

若number存在于数组a中,方法将返回该元素的索引,若不存在,则返回一个负数。

例如:

int[] a = {3, 9, 6, 1};Arrays.sort(a);System.out.println("排序结果为:");System.out.println(Arrays.toString(a));int index = Arrays.binarySearch(a, 6);System.out.println("元素值为6的索引为:" + index);

结果为: