Arrays クラスの一般的なメソッド

Arrays クラスには、配列を操作するためのさまざまなメソッドが含まれています。以下に、より一般的に使用されるメソッドの一部を示します。

目次

ガイドパッケージ

一般的な方法の使用 

1.Arrays.toString()

2.Arrays.fill()

 3.Arrays.sort()

4. Arrays.equals()

5.Arrays.binarySearch()

6.Arrays.copyOf() 和Arrays.copyOfRange()


ガイドパッケージ

Arrays クラスは java.util パッケージにあるため、Arrays クラスのメソッドを使用する場合は、最初にパッケージをインポートする必要があります。

import java.util.Arrays;

一般的な方法の使用 

1. Arrays.toString()

指定された配列の内容の文字列表現を返します。

public class Demo {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5,6,7,8,9,10};
        //将数组arr中内容转换为字符串
        String str = Arrays.toString(arr);
        System.out.println(str);
    }
}

 出力結果

2.Arrays.fill()

配列の元の要素を置換するために使用されます

 

public class Demo {
    public static void main(String[] args) {
        int[] arr = new int[5];
        //将1赋值给数组中的每一个元素
        Arrays.fill(arr,1);
        System.out.println(Arrays.toString(arr));
    }
}

出力結果

 

 

public class Demo {
    public static void main(String[] args) {
        int[] arr = new int[5];
        //将1赋值给数组中指定元素
        //从1索引开始到3索引(不包括)处
        Arrays.fill(arr,1,3,1);
        //第一个参数是数组,第二个参数是起始索引,第三个参数是结束索引,
        //第四个参数是指定的值
        System.out.println(Arrays.toString(arr));
    }
}

出力結果

 

 

 3配列.sort()

指定された配列を数値順にソートするために使用されます (デフォルトでは昇順)。

public class Demo {
    public static void main(String[] args) {
        int[] arr = {13,5,6,8,2};
        System.out.println("调用sort方法前:" + Arrays.toString(arr));
        //按照升序排序
        Arrays.sort(arr);
        System.out.println("调用sort方法后:" + Arrays.toString(arr));
    }
}

出力結果

 注: 文字列を並べ替えるときは、文字列の長さではなく、各文字の ASCII コード値が比較されます。

public class Demo {
    public static void main(String[] args) {
        String[] strings = {"abc","ad","ac"};
        Arrays.sort(strings);
        System.out.println(Arrays.toString(strings));
    }
}

出力結果

4. Arrays.equals()

2 つの配列の内容が等しいかどうかを比較するために使用されます。戻り値の型は Boolean です。2 つの配列の内容が同じ場合は true を返し、異なる場合は false を返します。

public class Demo {
    public static void main(String[] args) {
        char[] chars1 = {'a','b','c'};
        char[] chars2 = {'a','b','d'};
        boolean isSame = Arrays.equals(chars1,chars2);
        System.out.println(isSame);
    }
}

5. Arrays.binarySearch()

配列内の要素を検索するために使用され、戻り値は int です

注: 配列はソートする必要があります。ソートしないとエラーが発生します。

public class Demo {
    public static void main(String[] args) {
        //数组一定是排好序的
        int[] arr = {2,4,10,20,33};
        //传入两个参数,前一个为要查找的数组,后一个为要查找的元素
        int a = Arrays.binarySearch(arr,2);//0
        //找到该元素,则返回该元素的索引
        //返回值>=0,则说明能找到该元素

        int b = Arrays.binarySearch(arr,3);//-2
        //未找到该元素,返回-x
        //3介于2和4之间,若要将3放入数组中,是该数组的第二个元素,则返回-2

        int c = Arrays.binarySearch(arr,0,3,20);//-4
        //在0索引到3(不包括)索引位置查找该元素
    }
}

6.Arrays.copyOf() 和Arrays.copyOfRange()

配列のコピー用

Arrays.copyOf() 

public class Demo {
    public static void main(String[] args) {
        int[] arr1 = {1,2,3,4,5};
        //第一个参数为原数组,第二个参数是拷贝长度,返回值是一个新数组
        //默认从0索引位置开始拷贝
        int[] arr2 = Arrays.copyOf(arr1,3);
        System.out.println(Arrays.toString(arr2));
    }
}

出力結果

Arrays.copyOfRange(int[] オリジナル, int from, int to)

public class Demo {
    public static void main(String[] args) {
        int[] arr1 = {1,2,3,4,5};
        //第一个参数:原数组,第二个参数:开始拷贝索引,第三个参数:结束拷贝索引(不包括)
        int[] arr2 = Arrays.copyOfRange(arr1,1,3);
        System.out.println(Arrays.toString(arr2));
    }
}

 出力結果

 

おすすめ

転載: blog.csdn.net/2301_76161469/article/details/130071024