목록전체 글 (13)
코린이 개발로그
viewModel()Android 를 개발할때 ViewModel 은 필수적인 요소로 사용되고있습니다.Compose 로 개발할때도 ViewModel 은 여전히 많이 사용됩니다.일반적인 Compose 의 예제를 확인했을때 우리는 Compose 에서 제공하는 viewModel() 함수를 주로사용하는것을 볼 수 있습니다.@ComposableMyScreen() { val viewModel = viewModel() ...}일반적으로 사이드 프로젝트나 비교적 간단한 어플리케이션의 경우에는 해당 함수를 간단하게 사용해도 큰 문제가 없습니다.하지만 해당 함수는 몇가지 파라미터를 받고있습니다.@Suppress("MissingJvmstatic")@Composablepublic inline fun viewModel( ..
Map Key와 Value로 이뤄진 데이터 집합 Key의 중복은 허용되지 않고, Value의 중복은 가능합니다. Map의 종류 HashMap 순서를 보장하지 않는 맵, Key와 Value에 null이 허용됩니다. HashTable 동기화를 지원하는 맵, Key와 Value로 null이 허용되지 않습니다. LinkedHashMap 들어간 순서대로 저장되는 맵 TreeMap 이진 검색 트리 구조의 맵, 저장시 Key기준으로 오름차순으로 저장됩니다. Set 데이터의 집합이며 순서가 없고 중복된 데이터를 허용하지 않습니다. 중복되지 않은 데이터를 구할 때 유용합니다. 익덱스가 따로 존재하지 않기 떄문에 iterator를 사용합니다. 종류 HashSet 인스턴스의 해시값을 기준으로 저장하기 떄문에 순서를 보장하지..
개념 트리는 비선형 구조 자료구조입니다. 트리는 계층적 관계를 표현하는 자료구조입니다 트리에는 사이클이 존재할 수 없다 루트에서 한 노드로 가는 경로는 유일하다 노드의 개수가 N개면, 간선은 N - 1개 가진다 구성요소 Node(노드): 트리를 구성하고 있는 각각의 요소 Edge:(간선): 트리를 구성하기 위해 노드와 노드를 연결하는 선 Root Node(루트 노드): 트리 구조에서 최상위에 있는 노드 Terminal Node(단말 노드): 하위에 다른 노드가 연결되어 있지 않은 노드 Internal Node(비단말 노드): 단말 노드를 제외한 모든 노드로 루트 노드를 포함합니다. 순회방식 전위 순회: Root → 왼쪽 자식 → 오른쪽 자식 중위 순회: 왼쪽자식 → Root → 오른쪽 자식 후위 순회: ..
개념 임의의 크기를 가진 데이터를 고정된 크기의 데이터로 변화시켜 저장하는 것 키에 대한 해시값을 사용하여 값을 저장하고 키-값 쌍의 갯수에 따라 동적으로 크기가 증가하는 배열입니다. 키에 대한 해시값을 구하는 과정을 Hashing이라고 하며 이때 사용하는 알고리즘을 해시함수 라고 합니다. 해시값을 인덱스로 사용하기때문에 검색에 O(1) 의 시간복잡도가 필요합니다. 해시 테이블 효율적인 탐색을 위한 자료구조로 key-value로 대응시킵니다. 키 값을 해쉬함수를 통해 고정된 크기의 값으로 변환 후 해당 해시코드로 배열의 인덱스를 참조하여 값을 검색합니다. 다른 key값에대해 같은 Hash값이 발생할 수 있습니다. 이런경우를 Collision현상이라고 부릅니다. 좋은 Hash function을 선택하는 것..