ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] Collection framework
    Language/Java 2024. 7. 22. 14:14

    collection framework?

    데이터 군을 저장하는 클래스들을 표준화한 설계.
    데이터 군을 다루고 표현하기 위한 단일화된 구조.

    • 컬렉션 : 다수의 데이터. 데이터 그룹
    • 프레임웍 : 표준화된 프로그래밍 방식

    JDK1.2부터 등장 (그 전에는 Vector, Hashtable, Properties 있었음)

    컬렉션 데이터 그룹을 크게 세 가지로 존재한다고 정의한다.

    1. List
    2. Set
    3. Map
    classDiagram
        Collection <|-- List
        Collection <|-- Set

    List와 Set은 공통부분이 많아서 Collection 인터페이스로 정의할 수 있었으나, Map은 성질이 달라 상속 계층도에 포함되지 않는다.

    Collection 인터페이스 메서드

    • add/addAll() : 객체 또는 클래스를 collection에 추가
    • clear() : 모두 삭제
    • contains/containsAll() : 포함되어있는가
    • equals()
    • hashCode()
    • isEmpty()
    • iterator()
    • remove/removeAll()
    • retainAll() : 지정된 객체를 남기고 나머지는 삭제
    • size()
    • toArray() : 저장된 객체를 객체배열로 반환 or 지정된 배열에 객체를 저장해서 반환

    List 인터페이스

    • 중복 허용, 저장순서 유지상속계층도
    classDiagram
        List <|-- Vector
        List <|-- ArrayList
        List <|-- LinkedList
        Vector <|-- Stack

    diagram그리는 장치 : mermaid

    List 인터페이스 메서드

    • add(idx, obj)/addAll(idx, collection) : 지정된 위치에 객체를 추가
    • get(idx) : 지정된 위치에 있는 객체를 반환
    • indexOf(o) : 지정된 객체의 위치를 반환
    • lastIndexOf(o) : 지정된 객체의 위치 반환(역방향 탐색)
    • listIterator() : List의 객체에 접근할 수 있는 ListIterator를 반환
    • remove(idx) : 지정된 위치에 있는 객체 삭제 및 반환
    • set(idx, o) : 지정된 위치에 객체를 저장 및 반환
    • sort(comparator c) : comparator로 List 정렬
    • subList(from, to) : 지정된 범위에 있는 객체를 반환

    Set 인터페이스

    • 중복 허용 X, 순서 유지 X
    classDiagram
        Set <|-- HashSet
        Set <|-- SortedSet
        SortedSet <|-- TreeSet
    • 메서드는 모두 collection 인터페이스로부터 상속받음

    Map 인터페이스

    • 키는 중복될 수 없음 (같은 키로 값을 다르게 저장할 경우 갱신되는 방식)
    • 키와 값을 하나의 쌍으로 묶어 저장
    classDiagram
        Map <|-- Hashtable
        Map <|-- HashMap
        Map <|-- SortedMap
        HashMap <|-- LinkedHashMap
        SortedMap <|-- TreeMap

    Map 인터페이스 메서드

    • clear()
    • containsKey/containsValue(o)
    • entrySet() : key-value 쌍을 Map.Entry타입의 객체로 저장한 Set으로 반환
    • equals()
    • get(o) : 지정한 key객체에 대응하는 value객체를 찾아서 반환
    • hashCode()
    • isEmpty()
    • Set keySet() : Map에 저장된 모든 key객체를 반환(중복이 안되므로 Set으로 반환)
    • put(key,val) : value객체를 key객체에 연결하여 저장
    • putAll(Map t) : 지정된 Map에 모든 key-value쌍을 추가
    • remove(key) : 지정된 key-value 객체 삭제
    • size()
    • Collection values() : 저장된 모든 value객체를 반환(중복 가능하므로 Collection으로 반환)

    'Language > Java' 카테고리의 다른 글

    [IntelliJ]IDEA에서 java 버전 변경  (0) 2024.10.15
    [우테코 프리코스] 임하는 자세  (0) 2024.10.15
    [Java] Stack vs Queue  (1) 2024.07.24
    [Java] ArrayList vs LinkedList  (0) 2024.07.24
    [Java] 날짜와 시간  (0) 2024.07.19
Designed by Tistory.