Java配列の定義と一般的な方法
配列:同じタイプのデータセットのセットで、長さが固定されます.
1次元配列:
方法1:まず配列を宣言する(配列を定義する):まだメモリ領域を開いていないから配列を作成する:メモリで、配列の長さに基づいて、「連続」メモリ領域を開き、初期化(デフォルト)を完了する
データ型
デフォルト
整数
0
浮動小数点数
0.0
char
空の文字
boolean
false
String
null
方式2:宣言+作成
方式3:宣言+カスタム初期化
2 D配列:
方法1:宣言+2 D配列の作成(ルール)
方法2:宣言+2 D配列の作成(不規則)
方式3:宣言+作成+初期化値
ArraysツールクラスArraysツールクラス:配列の一般的な操作を提供する配列
一般的な方法:1.Arrays.toString():要素を文字列に変換
出力結果:
2.Arrays.sort():ソート(高速ソートアルゴリズム実装、デフォルト昇順)
出力結果:
3.Arrays.binarySearch(配列、指定要素):ソートされた配列に対して、指定要素の検索を行います.見つかった場合は、要素の位置を返します(ゼロ以上の値) .見つからない場合は、負の を返します.
出力結果:
4.Arrays.equals(配列1,配列2):2つの配列の内容が一致しているかどうかを比較する
出力結果:
5.Arrays.fill(配列、カスタムデフォルト要素):カスタム配列のデフォルト要素
出力結果:
6.Arrays.copyOf(古い配列、レプリケーション要素の個数):配列のすべてまたはローカルレプリケーションを実現
出力結果:
補足:System.Arraycopy()の役割:配列の全部または局部複製システムを実現する.arraycopy(src, srcPos, dest, destPos, length);//パラメータsrc:旧配列を表す//パラメータsrc Pos:旧配列コピーの開始位置を表す//パラメータdest:新配列を表す//パラメータdestPos:新配列の挿入開始位置を表す
出力結果:
7.Arrays.deepToString(配列):深さループ、2 Dおよび多次元配列を文字列に変換
出力結果:
1次元配列:
方法1:まず配列を宣言する(配列を定義する):まだメモリ領域を開いていないから配列を作成する:メモリで、配列の長さに基づいて、「連続」メモリ領域を開き、初期化(デフォルト)を完了する
データ型
デフォルト
整数
0
浮動小数点数
0.0
char
空の文字
boolean
false
String
null
String[] array01;
array01 = new String[10];
方式2:宣言+作成
double[] array02 = new double[6];
方式3:宣言+カスタム初期化
char[] array03 = {
' ', ' ', ' ', ' ', ' ', ' ' };
2 D配列:
方法1:宣言+2 D配列の作成(ルール)
int[][] array03 = new int[5][3]; // 5 , 3
int array04[][] = new int[7][10]; // 7 , 10
array03[2][1] = 1024; // : 1024 3 2
方法2:宣言+2 D配列の作成(不規則)
int[] array05[] = new int[4][];// 4 ,
array05[0] = new int[5];
array05[1] = new int[2];
array05[2] = new int[7];
array05[3] = new int[9];
方式3:宣言+作成+初期化値
int[][] array06 = {
{
1, 3, 5 }, {
2, 4, 6, 8 }, {
11, 21, 31, 41, 51 } };
ArraysツールクラスArraysツールクラス:配列の一般的な操作を提供する配列
一般的な方法:1.Arrays.toString():要素を文字列に変換
String[] array01 = {
"S ", "B ", "J ", "T ", "C ","B " };
String result01 = Arrays.toString(array01);
System.out.println(result01);
出力結果:
[S , B , J , T , C , B ]
2.Arrays.sort():ソート(高速ソートアルゴリズム実装、デフォルト昇順)
int[] array02 = {
12, 17, 10, 22, 19, 14, 25 };
Arrays.sort(array02);
System.out.println(" :" + Arrays.toString(array02));
Arrays.sort(array01); // ,
System.out.println(" :" + Arrays.toString(array01));
出力結果:
:[10, 12, 14, 17, 19, 22, 25]
:[B , B , C , J , S , T ]
3.Arrays.binarySearch(配列、指定要素):ソートされた配列に対して、指定要素の検索を行います.
char[] chs = {
'E', 'B', 'C', 'A', 'D', 'F' };
System.out.print(" :");
System.out.println(chs);
Arrays.sort(chs); //
System.out.print(" :");
System.out.println(chs);
int index = Arrays.binarySearch(chs, 'X');
System.out.println(" : " + index);
出力結果:
:EBCADF
:ABCDEF
: -7
4.Arrays.equals(配列1,配列2):2つの配列の内容が一致しているかどうかを比較する
int[] array01 = {
1, 3, 5, 7, 9 };
int[] array02 = {
1, 3, 5, 7, 9 };
boolean result2 = Arrays.equals(array01, array02);
System.out.println(result2);
出力結果:
true
5.Arrays.fill(配列、カスタムデフォルト要素):カスタム配列のデフォルト要素
int[] numbers = new int[10];
Arrays.fill(numbers, -2);// -2
System.out.println(Arrays.toString(numbers));
出力結果:
[-2, -2, -2, -2, -2, -2, -2, -2, -2, -2]
6.Arrays.copyOf(古い配列、レプリケーション要素の個数):配列のすべてまたはローカルレプリケーションを実現
String[] array01 = {
" ", " ", " ", " ", " ", " " };
String[] array03 = Arrays.copyOf(array01, array01.length); //
String[] array04 = Arrays.copyOf(array01, 3); //
System.out.println("[ 1]:" + Arrays.toString(array01));
System.out.println("[ 3]:" + Arrays.toString(array03));
System.out.println("[ 4]:" + Arrays.toString(array04));
出力結果:
[ 1]:[ , , , , , ]
[ 3]:[ , , , , , ]
[ 4]:[ , , ]
補足:System.Arraycopy()の役割:配列の全部または局部複製システムを実現する.arraycopy(src, srcPos, dest, destPos, length);//パラメータsrc:旧配列を表す//パラメータsrc Pos:旧配列コピーの開始位置を表す//パラメータdest:新配列を表す//パラメータdestPos:新配列の挿入開始位置を表す
String[] array05 = new String[array01.length];
System.arraycopy(array01, 0, array05, 0, array01.length); //
String[] array06 = new String[array01.length];
System.arraycopy(array01, 2, array06, 0, 3); // ( 2 3 )
System.out.println("[ 5]:" + Arrays.toString(array05));
System.out.println("[ 6]:" + Arrays.toString(array06));
出力結果:
[ 5]:[ , , , , , ]
[ 6]:[ , , , null, null, null]
7.Arrays.deepToString(配列):深さループ、2 Dおよび多次元配列を文字列に変換
int[][] array06 = {
{
1, 3, 5 }, {
2, 4, 6, 8 }, {
11, 21, 31, 41, 51 } };
System.out.println(Arrays.deepToString(array06));
出力結果:
[[1, 3, 5], [2, 4, 6, 8], [11, 21, 31, 41, 51]]