[Java] Chapter 13. 整列
📌13-1. 1 Dアレイの理解と活用
≪1 Dアレイ|1 D Array|oem_src≫:同じタイプのデータを複数格納する1 D構造のメモリ領域.
アレイに格納されたデータは、メモリに連続して配置されます.int[] ref = new int[5];
まず、左側int[] ref
の結果に基づいて、int型変数からなる配列を参照する参照変数を作成する.
右側のnew int[5]
により、5つのint型変数に空間を持つ配列インスタンスを作成します.すなわち,配列もインスタンスとして作成されるため,いくつかの方法がある.
したがって、ref
は、配列インスタンスを指す参照変数である.
参照変数の宣言と配列インスタンスの宣言は別々なので、必ずしも1行書く必要はありません.int[] arr1 = new int[5];
int[] arr2;
arr2 = new int [3];
配列には、基本データ型だけでなく、定義したクラスのインスタンスも含まれます.正確には、アレイには各インスタンスの参照値が含まれます.class Box {...}
Box[] arr = new Box[5];
配列内の各要素にアクセスする場合は、インデックスに基づいてアクセスできます.int[] arr = new int[3];
arr[0] = 7;
arr[1] = 8;
arr[2] = 9;
上記のコードを生成しながら初期化することができる.int[] arr = {7, 8, 9};
配列を使用する大きな理由は、配列の利点でもあり、文を繰り返して順番にアクセスできることです.
配列内の参照変数は、メソッドによって伝達されてもよいし、1つのクラスだけでなくメソッドから受信されてもよい.// 매개변수로 배열 참조 변수 선언
static int sumOfAry(int[] arr) {...}
// 메소드의 배열 참조값 반환
static int[] makeNewIntAry(int len) {...}
デフォルトのデータ構造では、すべての要素が0にリセットされます.
インスタンス配列は、すべての要素をnullに初期化します.
配列の初期化方法を使用して、必要な値に初期化できます.// java.util.Arrays 클래스에 정의
// arr 배열의 요소를 7로 초기화
Array.fill(arr, 7)
// arr 배열의 idx 3부터 4까지 7로 초기화
Array.fill(arr, 3, 5, 7)
1つのアレイから別のアレイにコピーすることもできます.// java.lang.System 클래스에 정의
// arr1의 idx 0부터 4개의 값을 arr2의 idx 3에 복사
System.arraycopy(arr1, 0, arr2, 3, 4)
mainメソッドの宣言では、パラメータはString[]
です.
これは、Stringインスタンスからなる配列が、先に学習したようにパラメータとして使用されることを意味する.
実際には、javaファイルをコマンドプロンプトで実行するときに表示できます.class Simple {
public static void main(String[] args) {
for(int i=0; i<args.length; i++)
System.out.println(args[i]);
}
}
📌13-2. 強化されたfor文(for-each文)
繰り返し文は配列を使用するときに頻繁に使用されます.しかし、私たちがこれまで使ってきたfor文を使うのは、毎回面倒なので、並べ替えのために新しい重複文を作成しました.int[] arr = {1, 2, 3, 4, 5}
// 기존의 for문
for(int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
}
// for-each문
for(int e : arr) {
System.out.println(e);
}
これにより、配列の長さや要素に関心を持つことなく、コード量を減らすことができます.
逆に、for-each文のデータ型は、配列要素のデータ型と一致する必要があります.
📌13-3. 多次元配列の理解と利用
我々が主に議論する配列は1次元であり,たまに2次元と非常にたまに3次元に関連する.
2 D配列は独立した1 D配列の集合であるため、上記のようなすべての配列の長さが同じである必要はありません.
また、配列もインスタンスであることを忘れないでください.
🔗カリキュラムとリソースソース
Naver Cafe|尹聖祐のプログラミング学習グループ
Reference
この問題について([Java] Chapter 13. 整列), 我々は、より多くの情報をここで見つけました
https://velog.io/@nandgate110/java-chapter-13
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
int[] ref = new int[5];
int[] arr1 = new int[5];
int[] arr2;
arr2 = new int [3];
class Box {...}
Box[] arr = new Box[5];
int[] arr = new int[3];
arr[0] = 7;
arr[1] = 8;
arr[2] = 9;
int[] arr = {7, 8, 9};
// 매개변수로 배열 참조 변수 선언
static int sumOfAry(int[] arr) {...}
// 메소드의 배열 참조값 반환
static int[] makeNewIntAry(int len) {...}
// java.util.Arrays 클래스에 정의
// arr 배열의 요소를 7로 초기화
Array.fill(arr, 7)
// arr 배열의 idx 3부터 4까지 7로 초기화
Array.fill(arr, 3, 5, 7)
// java.lang.System 클래스에 정의
// arr1의 idx 0부터 4개의 값을 arr2의 idx 3에 복사
System.arraycopy(arr1, 0, arr2, 3, 4)
class Simple {
public static void main(String[] args) {
for(int i=0; i<args.length; i++)
System.out.println(args[i]);
}
}
繰り返し文は配列を使用するときに頻繁に使用されます.しかし、私たちがこれまで使ってきたfor文を使うのは、毎回面倒なので、並べ替えのために新しい重複文を作成しました.
int[] arr = {1, 2, 3, 4, 5}
// 기존의 for문
for(int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
}
// for-each문
for(int e : arr) {
System.out.println(e);
}
これにより、配列の長さや要素に関心を持つことなく、コード量を減らすことができます.逆に、for-each文のデータ型は、配列要素のデータ型と一致する必要があります.
📌13-3. 多次元配列の理解と利用
我々が主に議論する配列は1次元であり,たまに2次元と非常にたまに3次元に関連する.
2 D配列は独立した1 D配列の集合であるため、上記のようなすべての配列の長さが同じである必要はありません.
また、配列もインスタンスであることを忘れないでください.
🔗カリキュラムとリソースソース
Naver Cafe|尹聖祐のプログラミング学習グループ
Reference
この問題について([Java] Chapter 13. 整列), 我々は、より多くの情報をここで見つけました
https://velog.io/@nandgate110/java-chapter-13
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Naver Cafe|尹聖祐のプログラミング学習グループ
Reference
この問題について([Java] Chapter 13. 整列), 我々は、より多くの情報をここで見つけました https://velog.io/@nandgate110/java-chapter-13テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol