ㄴ BufferedReader 사용
Scanner sc = new Scanner(System.in)보다 훨씬 빠른 속도를 제공한다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] command = br.readLine().split(" "); // 한줄에 빈칸 하나씩 받아서 배열에 저장
ㄴ BufferedWriter 사용
println()보다 훨씬 빠른 속도를 제공한다.
이때, 버퍼를 잡아 놓았기 때문에 반드시 flush() / close() 를 반드시 호출해 주어 뒤처리를 해주어야 한다. 해주지 않는다면 GC가 처리해준다지만, 정상적으로 writing이 되지 않는 경우가 많다.
그리고 bw.write에는 자동개행기능이 없기때문에 "\n"를 통해 따로 처리해주어야합니다.
BufferedWiter bw = new BufferedWriter(new OutputStreamReader(System.out));
bw.write("hello world \n");
bw.flush();
bw.close();
ㄴ StringTokenizer
StringTokenizer st = new StringTokenizer("문자열") // 띄어쓰기 기준으로 문자열을 분리
StringTokenizer st = new StringTokenizer("문자열", "구분자")// 구분자를 기준으로 문자열을 분리
StringTokenizer st = new StringTokenizer("문자열" , "구분자" , true/false) //구분자를 기준으로 문자열을 분리할 때 구분자도 토큰으로 넣는다.(true)
BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
StringTokenizer st = new StringTokenizer(br.readLine());
int n1 = Integer.parseInt(st.nextToken());
while(st.hasMoreTokens()) {
int temp = Integer.parseInt(st.nextToken());
}
st.hasMoreTokens() -> StringTokenizer 클래스 객체에서 다음에 읽어 들일 token이 있으면 true, 없으면 false를 return한다.
nextToken() -> 값에 구분된 값에 접근 할 수 있다.
ㄴ StringBuilder
String과 문자열을 더할 때 새로운 객체를 생성하는 것이 아니라 기존의 데이터에 더하는 방식을 사용하기 때문에 속도도 빠르며 상대적으로 부하가 적다.
StringBuilder sb = new StringBuilder();
sb.append(문자열)
System.out.println(sb.toString())으로 출력 할 수 있다
'공부하기! > JAVA' 카테고리의 다른 글
Comparator VS Comparable (0) | 2024.01.02 |
---|---|
나누기 계산하기 , 소수점 표현 (0) | 2022.11.30 |
[JAVA] if문과 객체 (0) | 2022.10.14 |
[JAVA] 상수와 형변환, 반복문 (0) | 2022.10.14 |