자바의 Hash Table1. Hash Table• 해시 함수를 이용하여 효율적인 탐색(빠른 탐색)이 가능한 자료구조• key-value 쌍의 데이터를 저장하여, 데이터를 꺼낼 때 key를 통해 value를 가져올 수 있음.• 데이터를 저장하기 위해 배열을 내부적으로 사용.• 배열 형태로 저장한 데이터에 접근하는 인덱스를 만들기 위해 key 값을 해싱. - 해시(hash) : 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수. 입력이 같으면 출력도 같음. - Hash Table 내부에는 key값을 최적의 배열 인덱스 값으로 바꿔주는 해시 함수가 존재. - 이 해시 함수는 어떤 key값을 입력 받아아도 내부적으로 사용하는 배열의 크기보다 작은 정수를 결과로 출력해줌.• 즉..
컬렉션 • 컬렉션이란 코틀린 표준 라이브러리에서 제공하는 도구로써, 여러 요소들을 담을 수 있는 자료구조이다. • 배열과 다르게 초기화시 크기를 미리 정해놓을 필요도 없고, 크기가 고정되어 있지 않음. 1. 변경 가능 여부 • 변경이 가능하면 Mutable, 불가능하면 Immutable로 나눌 수 있다. • 컬렉션 요소의 변경이 필요한 상황이 아니라면 기본적으로 Immutable을 사용하는 것이 좋다. - 많은 코드 진행 후에도 해당 컬렉션이 바뀌었는지 안 바뀌었는지 추적할 필요 없이 믿고 사용할 수 있기 때문. 2. List • 인덱스로 접근 가능하고, 순서가 있는 자료 구조. • immutable - listOf(값1, 값2, ...) • mutable - mutableListOf(값1, 값2, ....
배열 • 특정 하나의 변수에 복수 개의 값을 할당하고 싶은 경우 • 배열은 저장할 수 있는 값의 개수를 정해놓아야 하고, 이 개수를 변경할 수 없다. 배열의 선언 방법 1. arrayOf (값1, 값2, ...) • 자료형을 생략했을 경우 여러 자료형이 한 배열의 인자로 올 수 있다. • non-null, nullable 모두 가능하다. var array1 = arrayOf(true, "안녕하세요", 10, 2.2, null) • 자료형을 적었을 경우, 해당 자료형만 인자로 들어올 수 있다. var array2 = arrayOf(10, 20, 30) var array3 = arrayOf(1, null, 3) • 을 대체하는 방법 var array4 = intArrayOf(1, 2, 3) // arrayO..