Menu
Coddy logo textTech

配列メソッド

CoddyのJavaジャーニー「基礎」セクションの一部。レッスン 61/73。

配列には多くのメソッド(機能)が用意されています。メソッドにアクセスするには、次のように記述します。

Arrays.methodName(arrayName, otherParameters)

基本的なメソッドの一覧は次のとおりです:

  • fill(array, value) - 配列を指定した値で埋めます
  • toString() - 配列を文字列に変換します
  • sort(array) - 配列を昇順に並べ替えます
  • equals(array1, array2) - 2つの配列を比較して、それらが等しいかどうかを判定します

toString を使用して fill メソッドを使う方法の例を次に示します。

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] を出力します。

challenge icon

チャレンジ

簡単

mergeという名前のメソッドを作成し、引数として2つの配列を受け取ります。このメソッドは2つの配列を1つのソート済み配列に結合して返します。

重要: 最終的な結合配列は昇順にソートされている必要があります。

例えば、次の引数: merge(new String[] {"1", "4", "2"}, new String[] {"2", "5", "9"})["1", "2", "2", "4", "5", "9"] を返します(結果がソートされていることに注目してください)

System.arraycopy() を使用して、ある配列から別の配列へ要素をコピーします。構文は次のとおりです: 

System.arraycopy(sourceArray, sourceStartPosition, destinationArray, destinationStartPosition, length)

System.arraycopy() は、すでに存在する配列にのみコピーします。コピー先の配列が拡張されることはありません。まず、arr1.length + arr2.length 個の要素を格納できる結合配列を作成し、arr1 を位置 0 にコピーしてから、arr2 を位置 arr1.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);

コピー後の Destination array: 1 2 3 4 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));
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Javaオンラインコンパイラ