Java | 配列の ソート・文字列配列 を中心に学ぶ練習問題

Java Java
スポンサーリンク

では、配列の応用問題(ソートや文字列配列)を10問用意しました。基礎から一歩進んだ練習になるので、配列の理解がさらに深まります。


問題1:昇順ソート

問題: {5, 2, 8, 1} を昇順に並べ替えて表示してください。
解答例:

import java.util.Arrays;

int[] nums = {5, 2, 8, 1};
Arrays.sort(nums);
System.out.println(Arrays.toString(nums)); // [1, 2, 5, 8]
Java

問題2:降順ソート

問題: {5, 2, 8, 1} を降順に並べ替えて表示してください。
解答例:

import java.util.Arrays;
import java.util.Collections;

Integer[] nums = {5, 2, 8, 1};
Arrays.sort(nums, Collections.reverseOrder());
System.out.println(Arrays.toString(nums)); // [8, 5, 2, 1]
Java

👉 降順は int[] では直接できないので Integer[] を使う。


問題3:文字列配列のソート

問題: {"banana", "apple", "cherry"} をアルファベット順に並べ替えて表示してください。
解答例:

import java.util.Arrays;

String[] fruits = {"banana", "apple", "cherry"};
Arrays.sort(fruits);
System.out.println(Arrays.toString(fruits)); // [apple, banana, cherry]
Java

問題4:文字列配列の検索

問題: {"dog", "cat", "bird"} の中から "cat" を探してインデックスを表示してください。
解答例:

String[] animals = {"dog", "cat", "bird"};
int index = -1;
for (int i = 0; i < animals.length; i++) {
    if (animals[i].equals("cat")) {
        index = i;
        break;
    }
}
System.out.println("catの位置 = " + index); // 1
Java

問題5:文字列の長さでソート

問題: {"apple", "kiwi", "banana"} を文字列の長さ順に並べ替えて表示してください。
解答例:

import java.util.Arrays;
import java.util.Comparator;

String[] fruits = {"apple", "kiwi", "banana"};
Arrays.sort(fruits, Comparator.comparingInt(String::length));
System.out.println(Arrays.toString(fruits)); // [kiwi, apple, banana]
Java

問題6:配列のコピー(文字列)

問題: {"red", "blue", "green"} を新しい配列にコピーしてください。
解答例:

String[] colors = {"red", "blue", "green"};
String[] copy = Arrays.copyOf(colors, colors.length);
System.out.println(Arrays.toString(copy)); // [red, blue, green]
Java

問題7:配列の結合

問題: {"A", "B"}{"C", "D"} を結合して1つの配列にしてください。
解答例:

String[] arr1 = {"A", "B"};
String[] arr2 = {"C", "D"};
String[] result = new String[arr1.length + arr2.length];

System.arraycopy(arr1, 0, result, 0, arr1.length);
System.arraycopy(arr2, 0, result, arr1.length, arr2.length);

System.out.println(Arrays.toString(result)); // [A, B, C, D]
Java

問題8:重複を削除

問題: {"apple", "banana", "apple", "cherry"} から重複を削除してください。
解答例:

import java.util.Arrays;
import java.util.LinkedHashSet;

String[] fruits = {"apple", "banana", "apple", "cherry"};
LinkedHashSet<String> set = new LinkedHashSet<>(Arrays.asList(fruits));
String[] unique = set.toArray(new String[0]);

System.out.println(Arrays.toString(unique)); // [apple, banana, cherry]
Java

問題9:文字列を逆順に並べ替え

問題: {"one", "two", "three"} を逆順に並べ替えて表示してください。
解答例:

import java.util.Arrays;
import java.util.Collections;

String[] words = {"one", "two", "three"};
Arrays.sort(words, Collections.reverseOrder());
System.out.println(Arrays.toString(words)); // [two, three, one] (アルファベット逆順)
Java

👉 完全に「順番を逆にしたい」場合はループで逆順に取り出す方法もある。


問題10:配列を文字列に結合

問題: {"Hello", "World"}"Hello World" に結合してください。
解答例:

String[] words = {"Hello", "World"};
String result = String.join(" ", words);
System.out.println(result); // Hello World
Java

✅ まとめ

  • ソート: Arrays.sort() を基本に、ComparatorCollections.reverseOrder() を組み合わせる。
  • 文字列配列: equals() で比較、String.join() で結合。
  • 応用: コピー・結合・重複削除などは ArraysSet を活用。

👉 この応用問題をマスターすれば、配列の基礎から一歩進んで「実用的な処理」ができるようになります。

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました