스캐너를 사용해서 입력을 받는 형태로 백준을 풀다가
다른 팀원분들이 BufferedReader를 주로 쓰시길래
결과를 확인해보니 스캐너가 확실히 속도가 느리게 측정되고 있었다.
이 클래스들의 차이점을 알고 사용하면 좋을 것 같음
간단히 정리해보자 !
자바에서 입력을 쉽게 받기 위해 제공되는 클래스
Scanner 사용 형태
import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = scanner.nextLine();
System.out.print("Enter your age: ");
int age = scanner.nextInt();
System.out.println("Name: " + name + ", Age: " + age);
scanner.close();
}
}
입력을 더 빠르게 처리하기 위해 사용되는 클래스
BufferedReader 사용 형태
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BufferedReaderExample {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter your name: ");
String name = br.readLine();
System.out.print("Enter your age: ");
int age = Integer.parseInt(br.readLine());
System.out.println("Name: " + name + ", Age: " + age);
}
}
간단한 프로그램이나 입문 단계에서는 Scanner를 사용하는 것이 좋다.
성능이 중요한 프로그램이나 대용량 데이터를 처리해야 하는 경우 BufferedReader를 사용하는 것이 적합할 수 있다.
https://velog.io/@langoustine/Scanner-VS-BufferedReader
https://dlee0129.tistory.com/238