일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- union-find
- 음수가 포함된 최단경로
- 플로이드 와샬
- bottom-up
- onclick
- Python
- compiler
- disjoint set
- dto
- Android Studio
- Java
- 다익스트라
- Controller
- 거쳐가는 정점
- 유니온 파인드
- top-down
- 코딩테스트
- 직무면접
- 벨만 포드 알고리즘
- kmeans
- 우선순위큐
- 기술면접
- 동적계획법
- BufferedReader
- Django
- 최단경로
- scikit-learn
- 엔테크서비스
- clean code
- spring boot
Archives
- Today
- Total
춤추는 개발자
[Java] Scanner와 BufferedReader, 뭘로 입력할까? 본문
728x90
반응형
Scanner와 BufferedReader의 가장 큰 차이점은 속도입니다.
숫자 100만개를 입력받는데 걸리는 속도는 Scanner는 약 2.5ms / BufferedReader는 약 0.4ms
나머지 차이점은 다음과 같다.
- 버퍼크기 : Scanner(1024 chars), BufferedReader(8192 chars)
- 문자열 : Scanner는 문자열을 구분하여 분석, BufferedReader는 문자열을 단순히 읽고 저장
- 동기화 : Scanner은 동기화x, BufferedReader는 동기화가 가능
BufferedReader는 InputStreamReader에 버퍼링 기능이 추가된 class입니다.
일정한 크기의 데이터를 한 번에 읽어와 버퍼에 보관, 사용자의 요청이 있을 때 버퍼에서 데이터를 읽어오는 방식입니다.
Scanner는 Java1.5부터 java.util 패키지 내에 포함된 class입니다.
공란과 줄바꿈을 입력값의 경계로 인식, 좀 더 쉽게 데이터를 입력받을 수 있습니다.
또한, 별도의 Casting이 필요하지 않다는 점(사용하는 함수에 따라 데이터 타입이 결정)
728x90
반응형
'Developer's_til > 그외 개발 공부' 카테고리의 다른 글
[객체지향] Java를 Java스럽게 (0) | 2020.10.28 |
---|---|
컴파일러와 인터프리터의 차이? (0) | 2020.10.28 |
Python을 활용한 KNN 알고리즘 (0) | 2020.10.04 |
Python을 활용한 K-means Clustering (0) | 2020.10.04 |
String, StringBuilder, StringBuffer의 차이? (0) | 2020.10.01 |