配列要素の重複を Java で判定する方法
Javaでは、配列の要素の重複を判定するために以下の方法を使用できます。
- 2重ループで配列を繰り返し、各要素同士を比較し、同じ要素があれば配列に重複要素がある
public static boolean isDuplicate(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
return true;
}
}
}
return false;
}
- 重複した要素があるかどうかを調べるには、HashSet を使います。HashSet は重複した要素を持たない集合の一種で、配列の要素を順番に HashSet に追加します。重複した要素があれば追加に失敗するため、配列内に重複した要素があることがわかります。
public static boolean isDuplicate(int[] arr) {
Set<Integer> set = new HashSet<>();
for (int num : arr) {
if (!set.add(num)) {
return true;
}
}
return false;
}
- 配列をソートして、隣り合う要素が同じかどうかを判定する。隣り合う要素が同じものがあれば、その配列内には重複する要素が存在する。
import java.util.Arrays;
public static boolean isDuplicate(int[] arr) {
Arrays.sort(arr);
for (int i = 0; i < arr.length - 1; i++) {
if (arr[i] == arr[i + 1]) {
return true;
}
}
return false;
}
配列要素が重複しているかを判定する3つの一般的な方法を上記に挙げました。実際のニーズに応じて適切な方法を選択してください。