JAVA

JAVA : System.out & StringBuilder

HBean_ 2021. 1. 8. 23:56

 

system.out 대신 StringBuilder를 이용하여 알고리즘 시간 초과 문제를 개선할 수 있다.

 

 

  • System.out.println()
    • 표준 입출력 기능
    • 내부적으로 동기화 처리가 되어있다. 즉, 작업 중인 스레드가 있을 때, 다른 스레드는 대기 시간이 발생한다.
    • 이로 인해 오버 헤드가 발생 할 수 있다. -> 오버헤드가 쌓여 성능 저하 발생

 

<실행 예시>

public class Main {
 
	public static void main(String[] args){
	  for(int i =1;i<=20;i++)
      System.out.println(i);
  }
}

 

 

  • StringBuilder
    • 출력할 데이터를 모아서 한번에 출력 
    • 출력 시 system.out.println을 사용하나 사용 횟수를 줄인다.
    • String 보다 쉽게 문자열 처리 가능

 

<실행 예시>

public class Main {
 
	public static void main(String[] args){
    StringBuilder sb = new StringBuilder();

	  for(int i =1;i<=20;i++)
      sb.append(i + "\n");

    System.out.println(sb);
  }
}