Arrays クラスには、配列を操作するためのさまざまなメソッドが含まれています。以下に、より一般的に使用されるメソッドの一部を示します。
目次
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));
}
}
出力結果