ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA] Collection에 대해서
    IT개발이야기 2023. 1. 19. 22:51
    728x90
    반응형
    SMALL

    Java Collection Framework은 정말 좋은 인터페이스들이 많다고 생각한다.

    그 중 가장 많이 쓰는 인터페이스 List, Set, Map에 대해 간단하게 정리하였다.

     

    1. List

    (1) ArrayList : 가장 많이 사용되는 컬렉션 클래스 중 하나이며, 배열을 이용해 배열 요소를 빠르게 접근이 가능하다.

    단, 삽입과 삭제가 많다면 비효율적이다.

    (2) LinkedList : ArrayList 클래스와 같은 배열을 이용해 저장함으로써 단점을 보완하여 나온 클래스이다. 그리고 내부적으로 양방향 연결 리스트이다.

    단, 검색할 때 속도가 느린 단점이 있다.

    (3) Vector : 기존코드와 호환성을 위해 남아 있는 것, ArrayList와 동일.

     

    2. Set

    (1) HashSet : Set 대표 컬렉션이며, 데이터를 중복 저장할 수 없고 순서를 보장하지 않는다.

    (2) TreeSet : HashSet과 동일하나, TreeSet은 오름차순으로 데이터를 정렬한다.

    (3) LinkedSet : 중복된 데이터를 저장할 순 없지만, 입력된 순서대로 데이터를 관리한다.

     

    3. Map

    (1) HashMap : key, value를 묶어 하나의 entry로 저장하는 특징이며, 해시 알고리즘을 사용하여 많은 양의 데이터를 검색하는데 검색속도가 매우 빠르다. (null값 허용, 동기화 보장 안 함)

    (2) TreeMap : HashMap과 같은 역할, 데이터를 이진검색트리의 형태로 저장하며, TreeMap은 정렬이 가능하다.

    단, 데이터 저장 시 추가, 삭제는 HashMap 보다 느리며, 정렬된 데이터 조회하는 범위검색인 경우에는 성능이 빠르다.

    (3) LinkedHashMap : HashMap과 같은 역할이지만, 특징은 삽입순서를 기억해 준다.

    (4) Hashtable : 기존코드와 호환성을 위해 남아 있는 것, HashMap과 동일. ( null값 비허용, 동기화 보장)

    728x90
    반응형
    LIST

    댓글

Designed by Tistory.