Array Methods
CoddyのJavaジャーニー「基礎」セクションの一部 — レッスン 61/73。
Arrays には多くのメソッド(機能)が詰まっています。メソッドを使用するには、以下のように記述します:
Arrays.methodName(arrayName, otherParameters)基本的なメソッドのリストは以下の通りです:
fill(array, value)- 配列を特定の値で埋めます
toString()- 配列を文字列に変換します
sort(array)- 配列を昇順にソートします
equals(array1, array2)- 2つの配列を比較して、それらが等しいかどうかを判定します
以下は、fill メソッドを toString と使用する方法の例です:
int[] numbers = new int[5];
Arrays.fill(numbers, 10);
System.out.println(Arrays.toString(numbers));これは [10, 10, 10, 10, 10] を出力します。
sort メソッドの例:
int[] numbers = {5, 2, 9, 1, 5, 6};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers));これにより [1, 2, 5, 5, 6, 9] が出力されます。
チャレンジ
簡単merge という名前のメソッドを作成してください。このメソッドは 2 つの配列を引数として受け取り、2 つの配列を 1 つにソートされた 配列に結合して返します。
重要: 最終的なマージされた配列は昇順にソートされていなければなりません。
例えば以下の引数: merge(new String[] {"1", "4", "2"}, new String[] {"2", "5", "9"}) は ["1", "2", "2", "4", "5", "9"] を返します(結果がソートされていることに注意)。
System.arraycopy() を使用して、1 つの配列から別の配列へ要素をコピーしてください。構文は:
System.arraycopy(sourceArray, sourceStartPosition, destinationArray, destinationStartPosition, length)例:
// Source array
String[] sourceArray = {"1", "2", "3", "4", "5"};
// Destination array
String[] destinationArray = new String[5];
// Copy elements from sourceArray to destinationArray
System.arraycopy(sourceArray, 0, destinationArray, 0, 5);コピー後の宛先配列: 1 2 3 4 5
チートシート
Arraysクラスは、配列操作に役立つ便利なメソッドを提供します:
Arrays.methodName(arrayName, otherParameters)基本的なArraysメソッド:
fill(array, value)- 配列を特定の値で埋めますtoString(array)- 配列を文字列に変換しますsort(array)- 配列を昇順に並べ替えますequals(array1, array2)- 2つの配列を比較して等しいかどうかを判定します
fill と toString を使用した例:
int[] numbers = new int[5];
Arrays.fill(numbers, 10);
System.out.println(Arrays.toString(numbers)); // [10, 10, 10, 10, 10]sort を使用した例:
int[] numbers = {5, 2, 9, 1, 5, 6};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers)); // [1, 2, 5, 5, 6, 9]System.arraycopy() を使用して配列間で要素をコピーします:
System.arraycopy(sourceArray, sourceStartPosition, destinationArray, destinationStartPosition, length)例:
String[] sourceArray = {"1", "2", "3", "4", "5"};
String[] destinationArray = new String[5];
System.arraycopy(sourceArray, 0, destinationArray, 0, 5);自分で試してみよう
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static String[] merge(String[] arr1, String[] arr2) {
// ここにコードを記述してください
return null;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String textArr1 = scanner.nextLine();
String textArr2 = scanner.nextLine();
String[] arr1 = textArr1.split(",");
String[] arr2 = textArr2.split(",");
String[] mergedArray = merge(arr1, arr2);
System.out.println(Arrays.toString(mergedArray));
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 411Arrays Basics
Declaring ArraysAccessing ElementsModifying ArraysArray MethodsRecap - Product ArrayRecap - Reversed Array3Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else