では、配列の応用問題(ソートや文字列配列)を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()を基本に、ComparatorやCollections.reverseOrder()を組み合わせる。 - 文字列配列:
equals()で比較、String.join()で結合。 - 応用: コピー・結合・重複削除などは
ArraysやSetを活用。
👉 この応用問題をマスターすれば、配列の基礎から一歩進んで「実用的な処理」ができるようになります。


