어제 오늘 내일

[Java 기초] Collections.replaceAll()으로 리스트 요소 일괄 교체하기 본문

IT/Java

[Java 기초] Collections.replaceAll()으로 리스트 요소 일괄 교체하기

hi.anna 2025. 9. 4. 12:44

리스트 안의 특정 값을 다른 값으로 전부 바꿔야 할 때, 보통 반복문을 사용합니다.
하지만 자바에서는 Collections.replaceAll() 메서드를 활용하면 아주 간단히 처리할 수 있습니다.
이 메서드는 리스트에서 특정 값을 찾아 모두 다른 값으로 교체할 때 사용합니다.

 

1. 기본 사용법

import java.util.*;

public class ReplaceAllExample1 {
    public static void main(String[] args) {
        List<String> fruits = new ArrayList<>(Arrays.asList("apple", "banana", "apple", "orange", "apple"));

        Collections.replaceAll(fruits, "apple", "grape");

        System.out.println(fruits);
    }
}

실행 결과

[grape, banana, grape, orange, grape]

👉 "apple"이 모두 "grape"로 교체되었습니다.

 

2. 숫자 리스트에서 사용하기

import java.util.*;

public class ReplaceAllExample2 {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 2, 4, 2, 5));

        Collections.replaceAll(numbers, 2, 99);

        System.out.println(numbers);
    }
}

실행 결과

[1, 99, 3, 99, 4, 99, 5]

👉 리스트 안에 있는 2가 모두 99로 바뀌었습니다.

 

3. 존재하지 않는 값의 경우

리스트 안에 해당 값이 없다면 아무 일도 일어나지 않습니다.

import java.util.*;

public class ReplaceAllExample3 {
    public static void main(String[] args) {
        List<String> colors = new ArrayList<>(Arrays.asList("red", "blue", "green"));

        Collections.replaceAll(colors, "yellow", "black");

        System.out.println(colors);
    }
}

실행 결과

[red, blue, green]

👉 "yellow"가 없으므로 교체되지 않았습니다.

 

4. 활용 예시

  • 데이터 정제: 잘못된 입력값을 올바른 값으로 교체
  • 문자열 처리: 특정 단어를 다른 단어로 변경
  • 게임 로직: 특정 아이템이나 상태를 다른 값으로 바꿀 때

5

. 정리

  • Collections.replaceAll(List<?> list, T oldVal, T newVal)
    👉 리스트에서 oldVal을 찾아 newVal로 전부 교체
  • 해당 값이 없으면 변화 없음
  • 반복문을 돌릴 필요 없이 한 줄로 처리 가능

👉 리스트의 특정 값을 한 번에 바꾸려면 Collections.replaceAll()이 가장 간단하다!

 

 

반응형
Comments