[23/06/02] Day4 과제 제출

김보아·2023년 6월 5일
0

[오늘의 과제]

List, Set, Map, HashMap의 차이에 대해서 설명해주세요.

List, Set, Map, HashMap은 모두 데이터를 구조화하는 데 사용되는 데이터 구조입니다. 하지만 이들 간에는 몇 가지 차이점이 있습니다.

List: List는 순서가 있는 요소의 컬렉션입니다. 각 요소는 인덱스 또는 위치로 식별됩니다. List에는 동일한 요소가 중복될 수 있습니다. List는 배열 또는 연결 리스트와 같은 자료 구조로 구현됩니다.

Set: Set은 중복되지 않는 요소의 무순서 컬렉션입니다. Set의 요소는 중복될 수 없으며, 요소의 순서는 중요하지 않습니다. Set은 중복 제거, 멤버십 테스트, 합집합, 교집합, 차집합 등의 작업에 유용합니다.

Map: Map은 키-값 쌍의 컬렉션입니다. 각 키는 값과 연관되어 있습니다. Map은 특정 키를 기반으로 빠르게 데이터를 조회해야하는 상황에서 유용합니다. Map은 HashMap과 TreeMap과 같은 일반적인 구현이 있습니다.

HashMap: HashMap은 키-값 쌍의 Map의 한 유형입니다. HashMap은 해시 함수를 사용하여 키를 해당 값과 매핑합니다. 해싱은 테이블과 같은 구조에서 데이터를 효율적으로 저장하고 검색하는 기술입니다. HashMap에서 키는 고유해야하며, 키-값 쌍의 순서는 보장되지 않습니다. HashMap은 특정 키를 기반으로 데이터를 빠르게 저장하고 검색하는 데 자주 사용됩니다.

List는 순서가 있고 중복이 가능한 요소의 컬렉션, Set은 중복되지 않는 요소의 무순서 컬렉션, Map은 키-값 쌍의 컬렉션, HashMap은 키-값 쌍의 Map의 한 유형입니다. 이러한 차이점에 따라 각 데이터 구조는 특정 문제에 대해 더 적합한 경우가 있습니다.

스프링 컨테이너(Spring Container)에 대해 설명해주세요.

스프링 컨테이너(Spring Container)는 스프링 프레임워크에서 가장 핵심적인 역할을 수행하는 컴포넌트입니다. 스프링 컨테이너는 스프링 애플리케이션에서 객체의 생성과 관리를 담당합니다.

스프링 컨테이너는 크게 두 가지 종류가 있습니다.

BeanFactory: 스프링에서 가장 기본적인 컨테이너입니다. BeanFactory는 스프링 애플리케이션에서 사용되는 객체(빈)를 생성하고, 관리하며, 조회하는 인터페이스를 제공합니다. BeanFactory는 지연 로딩(lazy-loading)을 지원하기 때문에 빈을 생성하거나 로딩하는 시점이 아니면 빈을 생성하지 않습니다.

ApplicationContext: BeanFactory를 확장한 컨테이너입니다. ApplicationContext는 BeanFactory에서 제공하는 모든 기능을 포함하며, 더욱 다양한 기능을 제공합니다. 예를 들어, 메시지 처리, 이벤트 발행, 국제화, AOP 등의 기능을 지원합니다. 또한 ApplicationContext는 지연 로딩을 지원하지 않고, 미리 모든 빈을 로딩하고 생성합니다.

스프링 컨테이너는 스프링 애플리케이션에서 빈 객체를 생성하고, 관리하며, 필요한 빈을 검색하는 등의 역할을 수행합니다. 또한 스프링 컨테이너는 스프링의 다양한 기능을 사용할 수 있도록 환경 설정을 제공하며, 스프링 애플리케이션의 전반적인 라이프사이클을 관리합니다.

[출처] List, Set, Map, HashMap|작성자 우엉
[출처] 스프링 컨테이너(Spring Container)|작성자 우엉

profile
개발하는 개발자

0개의 댓글