- Collection framework
- Collection
- 사전적 의미로는 요소(객체)를 수집해 저장하는 것
- Collection framework
- 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 제공되는 컬렉션 라이브러리
- java util 패키지 포함
- 인터페이스를 통하여 정형화된 방법으로 다양한 컬렉션 클래스 이용
- Collection
- 컬렉션 프레임워크의 주요 인터페이스
- List
- 순서를 유지하고 저장 (인덱스로 관리)
- 중복 저장 가능
- 종류
- ArrayList
- List<데이터타입> 변수명 = new ArrayList<>(); 형태
- 저장 용량을 초과한 객체들이 들어와도 자동적으로 늘어난다.
- 객체 제거시 자동으로 앞으로 1씩 당겨진다.
- 저장 용량 고정도 가능
- LinkedList
- List<데이터타입> 변수명 = new LinkedList<>(); 형태
- 추가, 삭제 속도는 ArrayList보다 빠르고 검색은 느리다.
- Vector
- ArrayList
- Set
- 순서를 유지하지 않고 저장
- 중복 저장 불가
- 종류
- HashSet
- Set<데이터타입> 변수명 = new HashSet<>(); 형태
- TreeSet
- HashSet
- Map
- 키(key)와 값(value)의 쌍으로 저장
- 키와 값은 모두 객체
- 키는 중복 저장 불가, 값은 중복 저장 가능
- 종류
- HashMap
- Map<키의데이터타입, 값의데이터타입> map = new HashMap<K, V>(); 형태
- TreeMap
- Hashable
- Properties
- HashMap
- List
- List 컬렉션의 주요 메소드
- 객체 추가
- add(index, element)
- 해당 인덱스 위치에 객체 추가
- add(object)
- 해당 객체를 맨 끝에 추가
- set(index, element)
- 해당 인덱스 위치에 저장되어 있는 객체를 주어진 객체로 변경
- add(index, element)
- 객체 검색
- contains(object)
- 주어진 객체가 저장되어 있는 지여부
- get(index)
- 해당 인덱스에 저장된 객체를 리턴
- isEmpty()
- 컬렉션이 비어있는지 확인
- size()
- 전체 객체수 리턴
- iterator()
- 저장된 객체를 한번씩 가져오는 반복자 리턴
- contains(object)
- 객체 삭제
- clear()
- 모든 객체 삭제
- remove(index)
- 해당 인덱스에 저장된 객체 삭제
- remove(object)
- 주어진 객체 삭제
- clear()
- 객체 정렬
- Collections.sort(리스트명)
- 오름차순 정렬
- Collections.sort(리스트명, reverseOrder())
- 내림차순 정렬
- Collections.sort(리스트명)
- 객체 추가
- Set 컬렉션의 주요 메소드
- 객체 추가
- add(element)
- 객체 검색
- contains(object)
- isEmpty()
- iterator()
- size()
- 객체 삭제
- clear()
- remove(object)
- 객체 추가
- Map 컬렉션의 주요 메소드
- 객체 추가
- put(key, value)
- 주어진 키와 값을 추가, 저장되면 값을 리턴
- put(key, value)
- 객체 검색
- containsKey(key)
- 주어진 키가 있는지 여부 확인
- containsValue(value)
- 주어진 값이 있는지 여부 확인
- get(key)
- 주어진 키의 값을 리턴
- isEmpty()
- keySet()
- 모든 키를 Set 객체에 담아서 리턴
- size()
- values()
- 모든 값을 Collection에 담아서 리턴
- containsKey(key)
- 객체 삭제
- clear()
- remove(key)
- 해당 키와 일치하는 값 삭제, 삭제 시 값 리턴
- 객체 전체 출력
- for-each 사용
- for (String key : map.keySet()) { System.out.println(map.get(key)); }
- Iterator 사용
-
Iterator<String> it = map.keySet().iterator(); while (it.hasNext()) { System.out.println(it.next()); System.out.println(map.get(it.next())); }
-
- for-each 사용
- 객체 추가
- Iterator (반복)
- 컬렉션(List, Map, Set)의 저장된 객체를 한번씩 가져오는 반복자 리턴
-
Iterator<데이터타입> it = 컬렉션명.iterator(); while (it.hasNext()) { System.out.println(it.next()); }
- 자바의 데이터 구조
- 변수
- Array
- 인덱스, 대량의 값
- List
- 인덱스, 대량의 값
- 추가, 삭제, 변경
- Set
- 중복, 순서없는 집합 구조
- Map
- Key-Value
- JSON, XML 데이터 구조와 연결 역할
- Class의 변수-값
- Key-Value
'Java' 카테고리의 다른 글
[Java] Jar 파일 생성 (0) | 2024.04.06 |
---|---|
[Java] JDBC (0) | 2024.03.18 |
[Java] Thread (0) | 2024.03.18 |
[Java] Exception (0) | 2024.03.18 |
[Java] 중첩 클래스, Wrapper 클래스, API 메소드, 자바 관련 단어들 (0) | 2024.03.18 |