Java 中的数组操作

前言

  在Java中,有很多封装好的类可以用来操纵数组(排序,复制等等),使得数组使用起来非常的方便。这就是高级语言带来的好处。

代码示例 - 一维数组

package test;

import java.util.Arrays;

public class Test {

    public static void main(String[] args)  {
        
        int []a = {1, 3, 5, 2, 4, 6};
        
        // 将数组转换为字符串输出
        System.out.println(Arrays.toString(a));

/*
        // 将数组排序后输出
        Arrays.sort(a);
        System.out.println(Arrays.toString(a));
        
        // 查找数组中某个元素的下标
        System.out.println(Arrays.binarySearch(a, 1));
        System.out.println(Arrays.binarySearch(a, 5));
        
        // 对数组进行拷贝
        int []b = Arrays.copyOf(a, a.length);
        System.out.println(Arrays.toString(b));
        
        // 将所有数组元素设置为某一值
        Arrays.fill(b, 9);
        System.out.println(Arrays.toString(b));
        
        // 比较两个数组
        System.out.println(Arrays.equals(a, b));
        Arrays.fill(a, 9);
        System.out.println(Arrays.equals(a, b));
*/
        }
}

代码示例 - 二维数组

 1 package test;
 2 
 3 import java.util.Arrays;
 4 
 5 public class Test {
 6 
 7     public static void main(String[] args)  {
 8         
 9         // 静态创建
10         int [][]a = {
11                 {1, 3, 5, 2, 4, 6},
12                 {2, 4, 6, 1, 3, 5}
13                 };
14         
15         // 动态创建
16         int row = 2;
17         int col = 6;
18         int [][]b = new int[row][col];
19         
20         // 将数组转换为字符串输出
21         System.out.println(Arrays.deepToString(a));
22         System.out.println(Arrays.deepToString(b));
23 
24         }
25 }

运行结果

  略。

小结

  1. 请留意上面二维数组的动态创建。这段代码的意义和在C++中的不同 - C++只能先动态创建一个一维指针数组,再在每个指针数组的指针元素上new一维数组。这里是直接new出来了二维数组。

  2. 还有许多很方便的API没有详细列出,使用时要多查阅Java的API手册。

原文地址:https://www.cnblogs.com/scut-fm/p/4139486.html