자바 Collection

갱두·2021년 9월 28일
0

📚 Java

목록 보기
3/9

Java Collection에는 List, Map, Set 인터페이스를 기준으로 여러 구현체가 존재한다. Map은 Collection에 포함되지 않지만 Collecion으로 분류를 해줌. 이에 Stack과 Queue 인터페이스도 존재한다.

왜 Collection을 사용할까? 🤷🏻‍♀️

다수의 데이터를 다루는데 표준화된 클래스들을 제공해주기 때문에 DataStructure를 직접 구현하지 않고 편하기 사용할 수 있기 때문이다.
또한 배열과 다르게 객체를 보관하기 위한 공간을 미리 정하지 않아도 되므로, 상황에 따라 객체의 수를 동적으로 정할 수 있다. = 객체의 수를 동적으로 정할 수 있다.
공간적인 효율성 또한 높여줌

1. List

List 인터페이스를 직접 @Override를 통해 사용자가 정의하여 사용할 수도 있음
ArrayList, LinkedList 등의 구현체가 있다.

2. Map

대표적인 구현체로 HashMap 이 존재
key-value의 구조로 이루어져 있으며 key를 기준으로 중복된 값을 저장하지 않으며 순서를 보장하지 않는다.
key의 순서를 보장하기 위해서는 LinkedHashMap 을 사용한다.

3. Set

대표적인 구현체로 HashSet 이 존재
value에 대해 중복된 값을 저장하지 않고 순서도 보장하지 않는다. Hash에 의해 데이터의 위치를 특정시켜 해당 데이터를 빠르게 검색할 수 있게 만든 것이다. 즉, Hash 기능과 Set컬렉션이 합쳐진 것이 HashSet이다. 그렇기 때문에 삽입, 삭제, 색인이 매우 빠른 컬렉션 중 하나다.
순서를 보장하기 위해서는 LinkedHashSet 을 사용한다.

4. Stack & Queue

Stack 객체는 직접 new 키워드로 사용할 수 있으며, Queue 인터페이스는 LinkedList에 new 키워드를 적용하여 사용할 수 있음.

출처 : https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/Java

profile
👩🏻‍💻🔥

0개의 댓글