💡 HashMap vs LinkedHashMap 차이와 장단점
차이점:
HashMap은 요소의 순서를 보장하지 않고, LinkedHashMap은 요소의 삽입 순서를 보장합니다.
장단점:
HashMap의 장점은 빠른 검색 속도와 효율성입니다. 그러나 순서를 보장하지 않아 정렬된 결과를 얻기 어려울 수 있습니다. 반면 LinkedHashMap의 장점은 요소의 삽입 순서를 보장하여 순서가 중요한 작업에 유용합니다. 그러나 내부적으로 연결 리스트를 관리해야 하므로 삽입 작업이나 메모리 사용 면에서 약간의 오버헤드가 발생할 수 있습니다.
요악하자면, HashMap은 빠른 검색 속도와 효율성을 가지고 있으며, LinkedHashMap은 삽입 순서를 보장하며 순서가 중요한 상황에서 유용합니다.
💡 Array과 ArrayList의 차이
Array는 고정된 크기와 타입을 가지며, 빠른 인덱스 접근이 가능하지만 크기를 동적으로 조절하기 어렵고 추가 및 삭제가 어렵습니다.
ArrayList는 크기가 동적으로 조절되며, 다양한 타입의 원소를 저장할 수 있습니다. 크기가 자동으로 조절되기 때문에 원소의 추가 및 삭제가 용이합니다. 하지만 크기 조절로 인한 성능 저하가 있을 수 있습니다.
💡 Map과 List의 차이
Map은 키-값(key-value) 쌍으로 데이터를 저장하는 자료구조입니다. 각 데이터에 고유한 키가 할당되어 값에 접근할 수 있습니다. 이는 데이터를 검색하고 관리하는데 효율적인 방법이며, 주로 데이터베이스의 해시 테이블과 유사한 구조를 가집니다. 예를 들어 사용자 정보를 ID로 저장하고 조회하는 경우에 유용합니다.
List는 데이터를 순차적으로 저장하며, 각 데이터는 인덱스를 통해 접근됩니다. 데이터의 순서가 중요하거나 중복을 허용해야 할 때 사용됩니다. 주로 배열과 유사한 구조를 가지며, 예를 들어 To-Do 리스트나 게시물 목록과 같은 데이터를 저장할 때 적합합니다.
요악하자면, Map은 키를 통해 값을 저장하고 검색하는 구조로, List는 순서대로 데이터를 저장하며 데이터의 순서가 중요한 경우나 중복을 관리할 때 사용됩니다.