본문 바로가기
Study/Java

[Java] 입출력 API

by JYHAN 2020. 8. 9.

 java.util.Scanner

대량의 데이터 처리 시 수행시간이 비효율적임

nextInt(), nextDouble(), next()는 white space를 만나면 종료

nextLine() 개행(Enter)을 만나면 종료, next()와 달리 띄어쓰기를 할 수 있음(공백 포함 가능)

 

 

java.io.BufferedReader

필터스트림 유형

줄(Line)단위로 문자열 처리 기능 제공 -> readLine()

대량의 데이터 처리 시 수행시간이 효율적임

 

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

System.in은 byte단위로 읽고, BufferedReader는 char단위로 읽는다

따라서 두 방법의 단위차이를 해결하기 위해 InputStreamReader를 사용한다

byte를 char단위로 변환해주는 역할

 

 

 java.lang.StringBuilder

문자열의 조작을 지원하는 클래스

자바에서 상수로 취급되는 문자열을 조작 시마다 새로운 문자열이 생성되는 것을 방지

append()

toString()

 

StringBuffer vs StringBuilder

StringBuffer는 멀티쓰레딩을 지원, 멀티쓰레딩이 필요없는 환경에서 비효율적

따라서 멀티스레드 관련코드가 추가되어지기 때문에 시간적으로는 상대적으로 느려지게 됩니다.

StringBuilder는 싱글쓰레딩만 지원

상황에 따라 사용할 수 있어야 한다

'Study > Java' 카테고리의 다른 글

[Java] API 문서 보는 법 (업데이트 중)  (0) 2020.08.18
[Java] Compare  (0) 2020.08.11
[Java] Call By Value, Call by Reference  (0) 2020.07.25
[Java] Object Oriented Programming - OOP 2  (0) 2020.07.23
[Java] Object Oriented Programming - OOP 1  (0) 2020.07.23

댓글