ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 11 (1) 컬렉션프레임웍과 핵심 인터페이스
    Java 2023. 5. 14. 22:05
    반응형

    컬렉션 프레임웍 (collections framework)

    컬렉션(collection)

    - 여러 객체(데이터)를 모아 놓은 것을 의미

     

    프레임웍(framework)

    - 표준화, 정형화된 체계적인 프로그래밍 방식

     

    컬레션 프레임웍(collections framework)

    - 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식

    - 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공

    >> 컬렉션(데이터가 많다) , 다룰 수 (저장, 삭제, 검색, 정렬)

    - java.util 패키지에 포함. JDK1.2부터 제공

     

    컬렉션 클래스(collection class)

    - 다수의 데이터를 저장할 수 있는 클래스(, Vector, ArrayList, HashSet)

     

     

     

    컬렉션 프레임웍의 핵심 인터페이스

     

     

     

    Collection 인터페이스의 메서드

     

     

    List 인터페스 - 순서O, 중복O

     

    List 인터페이스의 메서드

     

     

     

    Set 인터페이스 - 순서X, 중복X

    - Set 인터페이스의 메서드 - Collection 인터페이스와 동일

     

     

    Map 인터페이스의 메서드 - 순서X, 중복(X, O)

     

     

     

     

    ArrayList

    -ArrayList는 기존의 Vector를 개선한 것으로 구현원리와 기능적으로 동일

    Vector는 자체적으로 동기화 처리가 되어 있으나 ArrayList는 그렇지 않다

    (Vectoe 동기화O, ArrayList 동기화X)

    -List인터페이를 구현하므로, 저장순서가 유지되고 중복을 허용한다.

    -데이터의 저장공간으로 배열을 사용한다.(배열기반)

     

     

    ArrayList의 메서드

     

     

     

     

    ArrayList에 저장된 객체의 삭제과정1

    >> 삽입은 반대 과정

     

     

    ArrayList에 저장된 객체의 삭제 과정2

     

     

     

     

     

     

    LinkedList

    배열의 장단점

    - 장점 : 배열은 구조가 간단하고 데이터를 읽는데 걸리는 시간

                                (접근시간, access time)이 짧다.

    - 단점 1 : 크기를 변경할 수 없다.

    >> 크기를 변경해야 하는 경우 새로운 배열을 생성 후 데이터를 복사해야함.

    >> 크기 변경을 피하기 위해 충분히 큰 배열을 생성하면, 메모리가 낭비됨.

     

    - 단점 2: 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸린다.

    >> 데이터를 추가하거나 삭제하기 위해, 다른 데이터를 옮겨야 함.

    >> 그러나 순차적인 데이터 추가(끝에 추가)와 삭제(끝부터 삭제)는 빠르다.

     

     

     

    LinkedList - 이중 연결 리스트

    >> 더블리 써귤러 링크드 리스트(doubly circular linked list) - 이중 원형 연결리스트

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    출처 : 남궁성의 정석코딩 - YouTube

     

    남궁성의 정석코딩

    자바의 정석 동영상 강의 채널입니다.(by 저자 남궁성)

    www.youtube.com

     

    반응형

    'Java' 카테고리의 다른 글

    11 (3) Iterator, Enumeration, Map과 Iterator  (0) 2023.05.19
    11 (2) Stack과 Queue  (0) 2023.05.15
    10 (1) Calender 클래스  (0) 2023.05.14
    09 (4) StringBuffer클래스  (0) 2023.05.13
    09 (3) String클래스  (0) 2023.05.12
Designed by Tistory.