Arrays类应用

来源:互联网 发布:python win服务器 编辑:程序博客网 时间:2024/06/04 19:54

原帖地址:http://www.imooc.com/wiki/detail/id/77
Arrays 类是 Java API 中提供的类,在 java.util 包中, Arrays类中提供的方法可直接实现数组的排序、搜索等。常用方法如下:

1、toString

转换数组:将指定数组内容转换为字符串形式

2、fill

给数组赋值:通过fill方法。

3、sort

对数组排序:通过sort方法,默认按升序。

4、equals

比较数组:通过equals方法比较数组中元素值是否相等。

5、binarySearch

二分查找:使用二分搜索法来搜索指定数组的范围

示例代码:

import java.util.Arrays;

public class HelloWorld {

public static void main(String[] args) {   int[] array = new int[5];   // 填充数组   /* Arrays.fill( a1, value );     作用:填充 a1 数组中的每个元素都是value   */   Arrays.fill(array, 5);   System.out.println("填充数组:Arrays.fill(array, 5):");   System.out.println(Arrays.toString(array));   // 将数组的第3和第4个元素赋值为8   /* Arrays.fill( a1, fromIndex, toIndex,value);     作用:填充 a1 数组中的从索引为 fromIndex 开始到索引为 toIndex-1 为止每个元素都是 value   */   Arrays.fill(array, 2, 4, 8);   System.out.println("将数组的第2和第3个元素赋值为8:Arrays.fill(array, 2, 4, 8):");   System.out.println(Arrays.toString(array));   int[] array1 = { 7, 8, 3, 2, 12, 6, 3, 5, 4 };   // 对数组的第3个到第7个进行排序   /* Arrays.sort( a1, fromIndex, toIndex);     作用:对 a1 数组中的从索引为 fromIndex 开始到索引为 toIndex-1 为止每个元素排序   */   Arrays.sort(array1, 2, 7);   System.out.println("对数组的第2个到第6个元素进行排序:Arrays.sort(array,2,7):");   System.out.println(Arrays.toString(array1));   // 对整个数组进行排序   Arrays.sort(array1);   System.out.println("对整个数组进行排序:Arrays.sort(array1):");   System.out.println(Arrays.toString(array1));   // 比较数组元素是否相等   System.out.println("比较数组元素是否相等:Arrays.equals(array, array1):" + "\n"          + Arrays.equals(array, array1));   int[] array2 = array1.clone();   System.out.println("克隆后数组元素是否相等:Arrays.equals(array1, array2):" + "\n"          + Arrays.equals(array1, array2));   // 使用二分搜索算法查找指定元素所在的下标(必须是排序好的,否则结果不正确)   Arrays.sort(array1);   System.out.println("元素3在array1中的位置:Arrays.binarySearch(array1, 3):"          + "\n" + Arrays.binarySearch(array1, 3));   // 如果不存在就返回负数   System.out.println("元素9在array1中的位置:Arrays.binarySearch(array1, 9):"          + "\n" + Arrays.binarySearch(array1, 9));}

}

运行结果:

填充数组:Arrays.fill(array, 5):
[5, 5, 5, 5, 5]
将数组的第2和第3个元素赋值为8:Arrays.fill(array, 2, 4, 8):
[5, 5, 8, 8, 5]
对数组的第2个到第6个元素进行排序:Arrays.sort(array,2,7):
[7, 8, 2, 3, 3, 6, 12, 5, 4]
对整个数组进行排序:Arrays.sort(array1):
[2, 3, 3, 4, 5, 6, 7, 8, 12]
比较数组元素是否相等:Arrays.equals(array, array1):
false
克隆后数组元素是否相等:Arrays.equals(array1, array2):
true
元素3在array1中的位置:Arrays.binarySearch(array1, 3):
1
元素9在array1中的位置:Arrays.binarySearch(array1, 9):
-9

0 0