20230630

Moon-Tree·2023년 6월 30일
0

◆ Scanner와 BufferedReader의 차이

◆ Scanner

  • nextInt(), nextFloat(), nextLine() 등의 메서드를 사용하여 다양한 데이터 타입을 읽을 수 있습니다.
  • 내부적으로 정규표현식을 사용하여 입력을 파싱하기 때문에, 공백, 탭, 줄 바꿈 등을 기본 구분자로 사용합니다. 따라서 여러 가지 유형의 입력 데이터를 쉽게 처리할 수 있습니다.
  • 내부적인 파싱 로직 때문에 BufferedReader에 비해 느리다는 단점이 있습니다.
  • 사용자 입력과 같은 작고 간단한 데이터를 처리하거나 입력의 구분자가 복잡한 경우, 또는 다양한 데이터 타입을 쉽게 파싱해야 하는 경우 사용하기에 적합합니다.

◆ BufferedReader

  • Scanner보다 빠르지만 사용하기는 더 복잡합니다.
  • 문자열을 읽어들이는 readLine() 메소드를 제공하는데, 이 메소드는 문자열을 반환하므로 각 데이터 타입에 따라 직접 파싱해야 합니다.
    - ex) 정수를 읽으려면 Integer.parseInt()를 사용해야 합니다.
  • 입력을 버퍼에 저장하고 한 번에 읽는 방식을 사용하므로 대량의 데이터를 빠르게 읽을 수 있습니다. 따라서 성능이 중요한 요구사항에 적합합니다.
profile
Backend Developer

0개의 댓글