[CS] Generics/ List, Set, Map, HashMap

Soo·2023년 2월 23일
0

Q. 제네릭에 대해서 설명하고, 컬렉션 클래스에서 왜 제네릭을 사용하는 지 설명해주세요.

Generic은

특정 타입만 다루지 않고 여러 종류의 타입으로 변신할 수 있도록 클래스나 메서드를 일반화 시키는 기법이다.

장점은

  1. 타입이 결정되지 않고 컴파일 시에 타입이 결정되므로 보다 안전한 프로그래밍이 가능하다
  2. 런타임 타입 충돌 문제 방지할 수 있다
  3. 개발시 타입 캐스팅 절차가 불필요하다

컬렉션은

요소(element)라고 불리는 가변 갯수의 객체들의 저장소, 객체들의 컨테이너라고도 불린다.
고정 크기의 배열을 다루는 어려움을 해소하고 다양한 객체를 삽입, 삭제 검색을 할 수 있으며 컬렉션은 코드의 안정성, 가독성 향상을 위해 제네릭 기법으로 구현된다.

https://velog.io/@jongleee/221024

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

1. List

  • 순서가 있고 중복을 허용한다

2. Set

  • 데이터의 집합이며 순서가 없고 중복된 데이터를 허용하지 않는다. 빠른 검색 속도를 갖는다

3. Map

  • Key/Value의 쌍으로 이루어짐
  • 순서가 항상 보장되지 않고 key값의 중복은 허용하지 않지만 value값의 중복은 허용된다

4. HashMap

  • Map의 특징인 Key/Value의 쌍으로 이루어짐
  • Map 종류의 하나로써 key에 대한 중복이 없으며 순서를 보장하지 않는다.
  • Key와 Value 값으로 NULL을 허용한다
  • 검색에 가장 뛰어난 성능을 가진다
profile
Soogineer's Devlog

0개의 댓글