본문 바로가기

string2

[자료구조 기초] 02. 문자열 (String) 들어가며문자열(String)은 알고리즘과 프로그래밍을 할 때 자주 사용하는 자료구조 중 하나입니다. 문자열은 문자들이 이어진 배열이면서, 내부에서는 메모리 구조, 불변성, 해싱까지 복잡한 내부 동작을 품고 있습니다. 이번 글에서는 자바(Java)를 중심으로 문자열의 속을 깊이 알아보겠습니다. 문자열의 내부 구조와 불변성1) 저장 방식의 변화 Compact Stringschar[] a = new char[]{'A','B'}; // char는 UTF-16으로 2바이트 저장 byte[] b = "AB".getBytes(StandardCharsets.ISO_8859_1); // LATIN1 문자는 1바이트 저장Java 9 이전에는 모든 문자를 UTF-16 인코딩으로 처리하.. 2025. 7. 25.
CS 스터디 (Java) 8 - String, StringBuffer, StringBuilder 차이와 성능 비교 Java에서 문자열을 다룰 때 주로 사용하는 클래스는 String, StringBuffer, StringBuilder입니다. 기능은 비슷해 보이지만, 내부 동작 방식이나 성능 측면에서 확실한 차이가 있어서, 상황에 맞게 골라서 써야 합니다. StringString a = "";for (int i = 0; i - String은 불변(immutable) 객체라서, 문자열을 바꿀 때마다 매번 새로운 인스턴스가 만들어집니다.- 이 덕분에 thread-safe 하고, 해시코드 캐싱 같은 장점도 있지만, 연산이 많아질수록 메모리 낭비나 성능 저하가 생길 수 있습니다. - 문자열을 계속 더하는 연산(+)을 자주 쓰면, 컴파일 시 내부적으로 new StringBuilder(...).append(...).toStrin.. 2025. 5. 15.