データが整然と並んでいるのは気持ちがいいですね。本日は配列のソートの問題です!

問題 - 配列のソート「難易度:低」

次のような2つの配列があります。配列arr1はint型のデータを格納している配列、配列arr2はString型のデータを格納している配列です。

int[] arr1 = {3, 15, 1};
String[] arr2 = {"3", "15", "1"};

Arrays.sortメソッドに配列を渡すと配列をソートすることができます。 さて、次の2つのソート結果は、どのようになるでしょうか?

【1】 Arrays.sort(arr1);
【2】 Arrays.sort(arr2);

データが整然と並んでいるのは気持ちがいいですね。本日は配列のソートの問題です!

問題 - 配列のソート「難易度:低」

次のような2つの配列があります。配列arr1はint型のデータを格納している配列、配列arr2はString型のデータを格納している配列です。

int[] arr1 = {3, 15, 1};
String[] arr2 = {"3", "15", "1"};

Arrays.sortメソッドに配列を渡すと配列をソートすることができます。 さて、次の2つのソート結果は、どのようになるでしょうか?

【1】 Arrays.sort(arr1);
【2】 Arrays.sort(arr2);

解答

【1】は「1」「3」「15」の順にソートされる。【2】は「"1"」「"15"」「"3"」の順にソートされる。

解説

Arrays.sortメソッドは渡された配列を昇順にソートするメソッドです。配列arr1はint型(整数型)のデータを格納しているので、数値の小さい順にソートされます。配列arr2はString型(文字列型)のデータを格納しているので、文字列として昇順にソートされます。Arrays.sortメソッドの第2引数にComparatorインタフェースを実装したクラスを渡すと、ソートの方法を変えることができます。

整いましたか? ではまた明日!