Computer Science/Algorithm

[자바의 정석] 컬렉션 프레임웍(Collection Framework) 기초

simDev1234 2022. 3. 29. 21:30

▶ 들어가기 전에..

   컬렉션의 대부분의 내용은 자바의 정석 강의을 보고 공부하고 있습니다.
   영상 내용 중 중요한 것을 작성했으나 제가 쓴 부분이 오류가 있을 수 있으니 오류가 있으면 댓글 부탁드립니다.

 

1. 컬렉션 프레임웍(Collection Framework)의 이해

https://www.youtube.com/watch?v=z9GpUGoYCw4

■ 용어 

▶ 컬렉션 (모아놨다)

▶ 프레임웍(정형화된 틀) : 라이브러리 + 프로그래밍 방식

    *라이브러리 : 다른 사람이 이미 만들어 놓은 걸 모아논 곳(라이브러리=도서관). 기능만 제공한다(ex. JavaAPI)

▶ 컬렉션 프레임웍 : 다수의 객체를 다루기 위한 표준화된 프로그래밍 방식 

    *객체 = 데이터 

    - java.util 패키지에 포함. (JDK2.0부터)

▶ 컬렉션 클래스

 

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

공통 인터페이스 순서 중복
Collection List O O 대기자 명단(1.홍길동/2.김길동...)
Set(집합) X X 네 발 동물 집합, 양의 정수 집합 
- Map X 키X, 값O 우편변호, 지역변호(전화번호), 아이디/패스워드

 

2. Collection인터페이스의 메소드

https://www.youtube.com/watch?v=RscGmop2Bzo 

■ Collection 인터페이스 _ 검색/추가/삭제/기타

  메소드 설명
검색 boolean contains(Object o)
boolean containsAll(Collection c)
지정된 객체가 있는지 확인
지정된 컬렉션의 객체들이 있는지 확인
추가 boolean add(Object o)
boolean addAll(Collection c)
지정된 객체 추가
지정된 컬렉션의 객체들을 추가
삭제 boolean remove(Object o)
boolean removeAll(Collection c)
boolean retainAll(Collection c)
void clear()
지정된 객체 삭제
지정된 컬렉션에 포함된 객체들을 삭제
지정된 컬렉션 외의 객체를 삭제
컬렉션의 모든 객체 삭제
기타 int size()
boolean isEmpty()
Iterator iterator()
Object[] toArray()
Object[] toArray(Object[] a)
컬렉션에 저장된 객체의 갯수를 반환
컬렉션이 비어있는지 확인
컬렉션의 iterator를 얻어서 반환
컬렉션에 저장된 객체를 Object타입 객체배열로 반환
컬렉션에 저장된 객체를 저장해서 반환

 

■ List 인터페이스(순서O/중복O) _ 검색/추가/삭제/읽기/변경/추출/정렬

  메소드 설명
검색 int indexOf(Object o)
int lastIndexOf(Object o)
지정된 객체의 위치를 첫번째부터 찾아 반환
지정된 객체의 위치를 마지막부터 찾아 반환
추가 void add(int index, Object element)
boolean addAll(int index, Collection c)
지정된 위치에 객체를 추가
지정된 위치에 컬렉션에 있는 객체를 추가
삭제 Object remove(int index) 지정된 위치의 객체 삭제
읽기 Object get(int index) 지정된 위치에 있는 객체를 반환
변경 Object set(int index, Object element) 지정된 위치에 객체를 저장
추출 List subList(int fromIndex, int toIndex) 지정된 범위부터의 객체를 List로 반환
정렬 void sort(Comparator c) 지정된 비교자로 List를 정렬

 

■ Set 인터페이스(순서X/중복X)_메소드는 컬렉션과 동일+집합 관련 메소드

- addAll(Collection c) : boolean [합집합]

- containsAll(Collection c) : boolean [부분집합]

- removeAll() [차집합]

- retainAll() [교집합]

 

■ Map 인터페이스(순서X/중복-키X,값O)

  메소드 설명
검색 boolean containsKey(Object key)
boolean containsValue(Object value)
Object get(Object key)
key가 있는지 확인
value가 있는지 확인
key를 가진 객체 반환
추가 Object put(Object key, Object value)
void putAll(Map t)
Map에 value객체를 key객체에 맵핑해서 저장
Map에 모든 key-value쌍 추가
삭제 Object remove(Object key) key를 가진 key-value삭제
읽기 Set keySet()
Set entrySet()
Collection values()
모든 key객체 반환
모든 key-value쌍을 Map.Entry형식으로 하여 Set로 반환
모든 value객체 반환