백준 1874번 알고리즘 문제를 풀다가 짧게 2가지의 차이점에 대해서 기록해 놓을려고 한다.
먼저
1. BufferedWriter
- BufferedReader 와 BufferedWriter 를 함께 쓰는 사람이 굉장히 많다 나도 그렇고,
- 만능처럼 생각하며 사용을 해왔는데 BufferedWriter의 한계점을 발견하였다.
(결론)
- BufferedWriter 는 비동기적 버퍼 스트림이므로, 입력받은 데이터가 받아져서 버퍼가 꽉차버리면,
버퍼안에 있는 데이터를 자동적으로 비운다.(출력한다.)
- flush() 함수를 사용하는 이유는 버퍼가 다차지 않았는데 출력을 하기 위해서 이다.
2. StringBuider
- StringBuider는 한마디로 변경가능한 문자열이다.
StringBuilder 사용법 예시
StringBuilder sb = new StringBuilder(); sb.append("start"); System.out.println(sb);
- 그냥 문자열이기 때문에 매우 간단하다.
* StringBuilder를 사용하는 이유는
- 보통 비동기적으로 동작하는 경우가 많을 때 StringBuilder() 함수를 이용하는게 안전하다.
'Java > Java 문법' 카테고리의 다른 글
[JAVA] 컬렉션 프레임워크 개념(List, Set, Map) (0) | 2021.04.28 |
---|---|
[JAVA] 자바 Math 메소드 정리 (수학 함수 정리) (0) | 2021.04.26 |
[JAVA] 자바 iterator 반복자 / iterator 와 ListIterator (0) | 2021.04.19 |
[java] 자바, 큐 (Queue, Deque) (0) | 2021.04.19 |
[JAVA] 스택 Stack (0) | 2021.04.19 |