시작하기무료로 시작하기

메모리 효율적인 문자열 처리 구현

여러 번 같은 문자열 값을 배열에 채워 넣어야 하는 텍스트 처리 애플리케이션을 개발하고 있어요. 현재 구현은 루프가 돌 때마다 새로운 String 객체를 생성하므로, 큰 배열에서는 비효율적입니다. 이 메서드를 더 효율적으로 동작하도록 개선해 보세요.

이 연습은 강의의 일부입니다

Java 코드 최적화

강의 보기

연습 안내

  • 제공된 value를 재사용하여 목록에 추가하세요.
  • 최종 array를 반환하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

public class ArrayPopulation {
    
    public static void main(String[] args) {
        int size = 10000;

        String[] inefficientArray = populateArrayInefficient(size, "DataCamp");
        String[] efficientArray = populateArrayEfficient(size, "DataCamp");

        System.out.println("Arrays have same length: " + (inefficientArray.length == efficientArray.length));
    }

    public static String[] populateArrayInefficient(int size, String value) {
        String[] array = new String[size];
        
        for (int i = 0; i < size; i++) {
            String stringValue = new String(value);
            array[i] = stringValue;
        }
        
        return array;
    }

    public static String[] populateArrayEfficient(int size, String value) {
        String[] array = new String[size];
        
        for (int i = 0; i < size; i++) {
            // Reuse the same String object
            array[____] = ____
        }
        
        // Return the final array
        return ____;
    }
}
코드 편집 및 실행