ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Collection interface(컬렉션 인터페이스) 그룹
    고급 JAVA/Collection Framework 2020. 3. 21. 19:20

    Collection interface(컬렉션 인터페이스) 그룹

     

    1. Collection 인터페이스

     

    2. List 인터페이스

     

    3. Set 인터페이스

     

    4. SortedSet인터페이스

     

    5. Queue 인터페이스

     

    6. Deque 인터페이스

     

     

    1. Collection 인터페이스

     

    직접적인 구현은 제공하지 않으며, 모든 컬레션 클래스가 구현해야 하는 메서드들을 포함하고 있다.

     

    대표적 메서드

     

    1-1. boolean add(E e) : 해당 컬레션에 전달된 요소를 추가

     

    1-2. boolean remove(Object o) : 해당 컬렉션에서 전달된 요소를 제거

     

    1-3. void clear() : 해당 컬렉션의 모든 요소를 제거

     

    1-4. boolean contains(Object o) : 해당 컬렉션이 전달된 객체를 포함하고 있는지

     

    1-5. boolean equals(Object o) : 해당 컬렉션과 전달된 객체가 같은지

     

    1-6. boolean isEmpty() : 해당 컬렉션이 비어있는지

     

    1-7. Iterator <E> iterator() : 해당 컬렉션 반복자(iterator)를 반환

     

    1-8. int size() : 해당 컬렉션의 요소의 총 개수를 반환

     

    1-9. Object [] to toArray() : 해당 컬렉션의 모든 요소를 Object 타입의 배열로 반환

     


    2. List 인터페이스

     

    순서가 있는 컬렉션, 중복 허용, 인덱스로 모든 요소에 접근 가능

     

    List 인터페이스로 구현된 클래스

     

    2-1. ArrayList

     

    2-2. LinkedList

     


    3. Set 인터페이스

     

    순서가 없고, 중복 요소를 포함할 수 없다.

     

    랜덤 엑세스(Random access)를 허용하지 않음  -> iterator 또는 foreach를 이요하여 요소에 접근

     

    * 랜덤 엑세스(Random access) : 순차적으로 접근하는게 아닌 시퀀스로 원하는 row에 접근하는 개념이라고 생각

     

    Set 인터페이스로 구현된 클래스

     

    3-1. HashSet

     

    3-2. TreeSet

     

    3-3. LinkedHashSet

     


    4. SortedSet 인터페이스

     

    요소를 오름차순으로 유지하는 Set

     

    SortedSet 인터페이스로 구현된 클래스는 TreeSet

     


    5. Queue 인터페이스

     

    처리하기 전에 요소를 보유하는데 사용

     

    기본 컬렉션 작업 외에도 Queue는 삽입, 추출 및 검사 작업을 제공한다.

     

    요소를 FIFO(First In First Out) 방식으로 정렬  * 예외 : 우선순위 큐

     

    Queue를 인터페이스로 구현된 클래스

     

    5-1. PriorityqQueue 

     


    6. Deque 인터페이스

     

    "double ended queue" 약자이면 데크라고 읽음

     

    양쪽 끝에 요소 삽입 및 제거를 지원

     

    Deque를 인터페이스로 구현된 클래스

     

    6-1. ArrayDeque

     

     

     

     

     

     

     

     

     

     

     

     

    댓글

Designed by Tistory.