본문 바로가기

java2

[자료구조] 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.