알고리즘3 [자료구조] StringBuilder 란? 1. StringBuilder란?자바에서 문자열을 효율적으로 조작하기 위해 사용하는 클래스 입니다.문자열을 반복적으로 변경해야 하는 상황에서 성능을 최적화 할 수 있도록 설계되었습니다.문자열을 생성, 연결, 수정하는 작업에서 성능 이점을 제공합니다. 다음과 같은 경우, 사용하면 유용합니다.반복문 내에서 문자열을 계속해서 연결하거나 수정하는 경우대량의 문자열을 조작하는 경우성능이 중요한 어플리테이션에서 문자열을 자주 변경하는 경우 2. 특징동기화StringBuilder는 동기화(synchronized) 되지 않습니다.따라서 멀티스레드 환경에서는 안전하지 않으며, 동기화가 필요한 경우 StringBuffer를 사용하는 것이 좋습니다. 성능문자열의 반복적인 연결, 삽입, 수정이 필요한 경우 String 보다.. 2024. 9. 18. [자료구조] ArrayList 란? 1. ArrayList란?ArrayList는 배열을 기반으로 한 자바의 컬렉션 프레임워크의 일부입니다. (List를 상속)배열의 단점을 보완하여, 크기가 자동으로 조정되며 자바에서 가장 많이 사용되는 동적배열 기반의 자료구조 입니다. ArrayList 는 요소의 개수가 변할 수 있는 리스트를 다룰때 주로 사용합니다.데이터의 크기를 미리 알 수 없거나 리스트에 자주 요소를 추가하거나 삭제해야 하는 상황에서 유용합니다.다양한 컬렉션 연산이 필요할 때 사용할 수 있으며 랜덤 접근이 자주 일어나는 상황에서 효율적입니다. 동적 크기 조정일반적인 배열은 생성 시 크기가 고정되지만, ArrayList는 요소가 추가됨에 따라 자동으로 크기가 조정됩니다.초기에 생성한 배열이 가득 차는 순간, 배열의 크기를 두배로 늘.. 2024. 9. 3. [자료구조]해시테이블(HashTable) 이란? 1. 해시테이블(HashTable) 이란?해시테이블(HashTable)은 데이터를 키-값(key-value) 쌍으로 저장하는 자료구조 입니다.해시테이블은 해시함수를 이용해 키를 해시값으로 변환한 후,이 해시값을 인덱스로 사용해 배열의 특정 위치에 값을 저장하는 방식으로 동작합니다. 해시테이블(HashTable) 에 키와 값을 넣는 과정1. key의 해시코드를 계산2. 해시코드를 이용해 배열의 index를 구함3. 키와 값을 해당 index에 저장(충돌에 대비해 배열의 각 index에는 키와 값으로 이루어진 연결리스트 사용) 해시(hash) 함수해시함수는 입력된 키를 규칙에 따라 해시코드로 변환하는 함수입니다.잘 만들어진 해시 함수는 다음과 같은 특징을 가집니다.균등 분포: 키가 고르게 분포되어 충돌을.. 2024. 9. 2. 이전 1 다음