码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA数组之Arrays类及其方法

时间:2015-05-28 17:41:31      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

public class Arraysextends Object此类包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。

除非特别注明,否则如果指定数组引用为 null,则此类中的方法都会抛出 NullPointerException。

此类中所含方法的文档都包括对实现 的简短描述。应该将这些描述视为实现注意事项,而不应将它们视为规范 的一部分。实现者应该可以随意替代其他算法,只要遵循规范本身即可。(例如,sort(Object[]) 使用的算法不必是一个合并排序算法,但它必须是稳定的。)

此类是 Java Collections Framework 的成员。

 1 import java.util.Arrays;
 2 public class TestArrays {
 3     public static void main(String[] args) {
 4         int[] a = new int[]{11,31,24,98,-9,56,73,-27};
 5         int[] b = new int[]{11,31,24,98,-9,56,73,-27};
 6         
 7         // static void sort(int[] a) 对指定的 int 型数组按数字升序进行排序。
 8         Arrays.sort(a);
 9         for(int i = 0; i < a.length; i++){
10             System.out.print(a[i] + "\t");
11         }
12         System.out.println();
13         System.out.println();
14         
15         // static int binarySearch(int[] a, int key)使用二分搜索法来搜索指定的 int 型数组,以获得指定的值。
16         int temp = Arrays.binarySearch(a, 73);
17         System.out.println(temp);
18         System.out.println();
19         
20         // static int[] copyOf(int[] original, int newLength)
21         // 复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。
22         int[] t = Arrays.copyOf(a, a.length);
23         for(int i = 0; i < a.length; i++){
24             System.out.print(t[i] + "\t");
25         }
26         System.out.println();
27         System.out.println();
28         
29         // static boolean equals(int[] a, int[] a2)如果两个指定的 int 型数组彼此相等,则返回 true。
30         boolean bool1 = Arrays.equals(a, t);
31         System.out.println(bool1);
32         System.out.println();
33         boolean bool2 = Arrays.equals(a, b);
34         System.out.println(bool2);
35         System.out.println();
36         
37         // static int hashCode(int[] a) 基于指定数组的内容返回哈希值。
38         int s1 = Arrays.hashCode(a);
39         int s2 = Arrays.hashCode(b);
40         int s3 = Arrays.hashCode(t);
41         System.out.println(s1);
42         System.out.println(s2);
43         System.out.println(s3);
44         System.out.println();
45         
46         // static String toString(int[] a) 返回指定数组内容的字符串表示形式。
47         String str = Arrays.toString(a);
48         System.out.println(str);
49     }
50 }

程序运行结果如下:

-27    -9    11    24    31    56    73    98    

6

-27    -9    11    24    31    56    73    98    

true

false

-678226926
-1591174308
-678226926

[-27, -9, 11, 24, 31, 56, 73, 98]

注意:Arrays 类的 equals 方法比较的是两个数组的 hashCode 值。若两个 hashCode 值相同,说明这两个数组是同一个数组,返回 true ,否则,返回 false 。

    if(a.hashCode == b.hashCode)
        return true;
    else
        return false;

 

JAVA数组之Arrays类及其方法

标签:

原文地址:http://www.cnblogs.com/chulei926/p/4536424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!