import java.util.Arrays;
public class RemoveDuplicatesExample {
public static void main(String[] args) {
// æ•´æ•°ã®é…列を定義
int[] originalArray = {1, 2, 2, 3, 4, 4, 5, 6, 6, 7};
// é‡è¤‡è¦ç´ を削除ã—ã¦æ–°ã—ã„é…列を作æˆ
int[] uniqueArray = removeDuplicates(originalArray);
// çµæžœã‚’表示
System.out.println("å…ƒã®é…列: " + Arrays.toString(originalArray));
System.out.println("é‡è¤‡ã‚’削除ã—ãŸé…列: " + Arrays.toString(uniqueArray));
}
public static int[] removeDuplicates(int[] arr) {
int length = arr.length;
int uniqueCount = 0;
// é…列内ã®é‡è¤‡ã‚’削除
for (int i = 0; i < length; i++) {
boolean isDuplicate = false;
for (int j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
isDuplicate = true;
break;
}
}
if (!isDuplicate) {
uniqueCount++;
}
}
// é‡è¤‡ã‚’削除ã—ãŸæ–°ã—ã„é…列を作æˆ
int[] uniqueArray = new int[uniqueCount];
int currentIndex = 0;
for (int i = 0; i < length; i++) {
boolean isDuplicate = false;
for (int j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
isDuplicate = true;
break;
}
}
if (!isDuplicate) {
uniqueArray[currentIndex] = arr[i];
currentIndex++;
}
}
return uniqueArray;
}
}
ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã¯ã€é‡è¤‡è¦ç´ を削除ã—ãŸæ–°ã—ã„é…列を作æˆã™ã‚‹ãŸã‚ã® removeDuplicates メソッドãŒä½¿ç”¨ã•れã¦ã„ã¾ã™ã€‚å…ƒã®é…列ã‹ã‚‰é‡è¤‡è¦ç´ を削除ã—ã€æ–°ã—ã„é…åˆ—ã«æ ¼ç´ã•れã¾ã™ã€‚çµæžœã¨ã—ã¦ã€å…ƒã®é…列ã‹ã‚‰é‡è¤‡è¦ç´ ãŒå‰Šé™¤ã•ã‚ŒãŸæ–°ã—ã„é…列ãŒè¡¨ç¤ºã•れã¾ã™ã€‚
é…列内ã®é‡è¤‡è¦ç´ ã®å‰Šé™¤
é…列内ã®é‡è¤‡è¦ç´ を削除ã™ã‚‹ãƒ—ãƒã‚»ã‚¹ã¯ã€ç‰¹å®šã®è¦ç´ ãŒè¤‡æ•°å›žå‡ºç¾ã™ã‚‹å ´åˆã«ã€ãれを1回ã ã‘æ®‹ã—ã¦ã€æ–°ã—ã„é…列を作æˆã™ã‚‹ã“ã¨ã§ã™ã€‚以下ã¯ã€é…列内ã®é‡è¤‡è¦ç´ を削除ã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ ã®ä¸€èˆ¬çš„ãªæ‰‹é †ã¨è§£èª¬ã§ã™ã€‚
- æ–°ã—ã„é…列を作æˆ: é‡è¤‡è¦ç´ を削除ã—ãŸå¾Œã®æ–°ã—ã„é…列を作æˆã—ã¾ã™ã€‚æ–°ã—ã„é…列ã®ã‚µã‚¤ã‚ºã¯ã€å…ƒã®é…列ã‹ã‚‰é‡è¤‡ã‚’削除ã—ãŸå¾Œã®è¦ç´ æ•°ã«åˆã‚ã›ã¦è¨å®šã•れã¾ã™ã€‚
- é‡è¤‡è¦ç´ ã®æ¤œå‡º: ループを使用ã—ã¦ã€å…ƒã®é…列内ã®å„è¦ç´ ã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¾ã™ã€‚å„è¦ç´ ãŒã™ã§ã«æ–°ã—ã„é…列ã«å«ã¾ã‚Œã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’確èªã—ã¾ã™ã€‚ã“れを行ã†ãŸã‚ã«ã€ãƒ«ãƒ¼ãƒ—内ã§ã•らã«åˆ¥ã®ãƒ«ãƒ¼ãƒ—を使用ã—ã¦ã€å…ƒã®é…列内ã®è¦ç´ ã¨æ–°ã—ã„é…列内ã®è¦ç´ を比較ã—ã¾ã™ã€‚
- æ–°ã—ã„é…列ã¸ã®è¦ç´ ã®è¿½åŠ : å…ƒã®é…列内ã®å„è¦ç´ ãŒæ–°ã—ã„é…列ã«å«ã¾ã‚Œã¦ã„ãªã„å ´åˆã€ãã®è¦ç´ ã‚’æ–°ã—ã„é…列ã«è¿½åŠ ã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€é‡è¤‡è¦ç´ ãŒå‰Šé™¤ã•ã‚ŒãŸæ–°ã—ã„é…列ãŒå½¢æˆã•れã¾ã™ã€‚
- çµæžœã®ä½¿ç”¨: æ–°ã—ã„é…列ã«ã¯ã€é‡è¤‡è¦ç´ ãŒå‰Šé™¤ã•れã€å…ƒã®é…列ã®è¦ç´ ãŒä¸€æ„ã«ãªã£ã¦ã„ã¾ã™ã€‚ã“ã®æ–°ã—ã„é…列ã¯ã€å¿…è¦ã«å¿œã˜ã¦è¡¨ç¤ºã—ãŸã‚Šã€ä»–ã®å‡¦ç†ã«ä½¿ç”¨ã—ãŸã‚Šã§ãã¾ã™ã€‚
注æ„点:
- ã“ã®æ–¹æ³•ã¯ã€å…ƒã®é…列ã®è¦ç´ ã®é †åºã‚’ç¶æŒã—ã€æœ€åˆã«é‡è¤‡è¦ç´ ãŒç¾ã‚ŒãŸé †åºã§æ–°ã—ã„é…列を作æˆã—ã¾ã™ã€‚é‡è¤‡ã‚’削除ã™ã‚‹ãŸã‚ã«ã€2ã¤ã®ãƒ«ãƒ¼ãƒ—ãŒå¿…è¦ã«ãªã‚‹ã“ã¨ãŒã‚りã€åŠ¹çŽ‡æ€§ã«æ³¨æ„ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
- Javaã®å ´åˆã€
ArrayListã‚„HashSetãªã©ã®ãƒ‡ãƒ¼ã‚¿æ§‹é€ を使用ã™ã‚‹ã¨ã€ã‚ˆã‚Šç°¡æ½”ã§åŠ¹çŽ‡çš„ãªæ–¹æ³•ã§é‡è¤‡è¦ç´ を削除ã§ãã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚
「0004 é…列ã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント